使用Docker搭建WordPress博客
最近新搞了一台腾讯云服务器
把阿里云的博客迁移到腾讯云上,整个过程比较麻烦
为了以后节省迁移的时间:想把博客搭在Docker上,迁移时,直接把容器导出拿走就好啦,简单方便
前文介绍过wordpress的搭建:阿里云搭建WordPress博客,有感兴趣的同学去看看
不熟悉Docker的同学,可以趁着这个机会学一学,很好上手。
注意:
腾讯云服务器特价:云服务器: 1核2G,1M带宽,系统盘(Linux 50G/Windows 50G) 一个月10元,一年才120,还可以续费2次,很实惠。
还没有云服务器的同学可以入手一个:购买地址
用云服务器搭建个人网站啦,平时学习用都可以!!!
环境:
腾讯云服务器:Centos 7系统
需要两个Docker容器,一个Wordpress容器,用于运行wordpress博客,一个Mysql容器,用于存储wordpress的数据
首先安装Docker
yum install docker-io
安装后,修改其开机自启,并开启docker
systemctl enable docker systemctl start docker
开启docker后,下载两个镜像Centos,Mysql
docker pull centos docker pull mysql
等待下载完成,下载后可以查看镜像
[root@louisvv ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/centos latest 2d194b392dd1 7 days ago 195.4 MB docker.io/mysql latest 5d4d51c57ea8 2 weeks ago 373.6 MB
Mysql容器配置
先来创建mysql镜像
使用DockerFile创建Mysql镜像
Dockerfile内容如下:
FROM mysql MAINTAINER yanwei <www.louisvv.com> 拷贝脚本执行文件 COPY init.sh /init.sh #设置密码 ENV MYSQL_ROOT_PASSWORD=密码 #暴露3306端口 EXPOSE 3306 CMD ["sh","/init.sh"]
init脚本内容如下:
/etc/init.d/mysql start #开启mysql mysql -u root -e "grant all privileges on *.* to 'root'@'%' identified by '密码';" #授权 mysql -u root -e "grant all privileges on *.* to 'root'@'localhost' identified by '密码';" #授权 mysql -u root -p密码 -e "create database wordpress;" #创建wordpress数据库 /bin/bash
构建myql镜像
docker build -t mysql-wp .
构建成功后,查看该镜像
[root@louisvv /]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE mysql-wp latest 5410b49b0751 5 days ago 397.4 MB
使用该镜像创建并运行一个容器
mysql的容器需要固定IP地址,所以,创建自定义网络
docker network create --subnet=172.18.0.0/24 wp-network
启动mysql容器:
docker run -itd -p 3306:3306 --network=wp-network --ip 172.18.0.10 mysql-wp
WordPress容器配置
下载WordPress简体中文版:wordpress-4.9.4-zh_CN.zip
解压wordpress-4.9.4-zh_CN.zip
unzip wordpress-4.9.4-zh_CN.zip
解压后,生成一个名为wordpress的文件夹,将该文件夹下所有的东西拷贝到 /var/www/html下,若没有该目录,则创建。
cp -r wordpress/* /var/www/html/
修改WordPress配置文件
cd /var/www/html/ cp wp-config-sample.php wp-conig.php #复制配置文件
修改wp-config.php文件内容,填写刚才配置的mysql信息。
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'wordpress'); /** MySQL数据库用户名 */ define('DB_USER', 'root'); /** MySQL数据库密码 */ define('DB_PASSWORD', '密码'); /** MySQL主机 */ define('DB_HOST', '172.18.0.10:3306'); /** 创建数据表时默认的文字编码 */ define('DB_CHARSET', 'utf8');
使用DockerFile构建WordPress镜像
DockerFile内容如下:
FROM centos MAINTAINER louisvv <www.louisvv.com> #设置容器启动时执行的命令 RUN yum -y install httpd mysql mysql-server php php-mysql php-gd php-xml && /usr/sbin/httpd -d /etc/httpd/ #暴露80端口 EXPOSE 80 CMD ["/bin/bash"]
构建镜像
docker build -t wordpress .
构建成功后,查看该镜像
[root@louisvv wordpress_docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE wordpress latest 192988a086af 17 seconds ago 445.4 MB
基于wordpress镜像创建一个新的容器,并运行
docker run -itd -p 80:80 --net=host -v /var/www/:/var/www/ -v /etc/localtime:/etc/localtime:ro wordpress /bin/bash
解释个别参数:
–net=host 选择网络模式为host模式,ip地址同宿主机,不用做过多网络连接配置
-v /var/www/:/var/www 将本地wordpress文件夹挂载到容器目录,wordpress在本地,安全可靠
-v /etc/localtime:/etc/localtime:ro (可不用添加此参数) 与主机时间同步
运行后,输入公网IP地址:80 即可进行博客初始化,这里就不上图了
VV是博客迁移,所以访问到的是我的主页
好了,我们下篇文章见~
1 Response
[…] 使用Docker搭建WordPress博客 […]