CentOS7 使用Docker搭建WordPress

334 阅读1分钟

更改Docker源

提高docker的下载镜像速度。 使用vim编辑 /etc/docker/daemon.json, 增加如下内容。

{
  "registry-mirrors": ["https://n6ktfef7.mirror.aliyuncs.com"]
}

拉取MySQL镜像,运行MySQL容器

docker pull mysql:5.6
docker run -d --privileged=true --name wpMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3307:3306 mysql:5.6
  • -p: 端口映射,将宿主机的3307映射给镜像的3306
  • -e: 环境变量, 设置镜像中MySQL的root 密码时123456
  • -v: 指定数据卷,将MySQL容器的/var/lib/mysql映射到宿主机的/data/mysql
  • --privileged=true: CentOS系统下的安全Selinux禁止了一些安全权限,导致MySQL容器在运行时会因为权限不足而报错,所以需要增加该选项

拉取WordPress镜像,运行WordPress容器

docker pull wordpress:latest
docker run -d --name mwp -v /data/wordpress/www/html/:/var/www/html/ -e WORDPRESS_DB_HOST=mysql -e WORDPRESS_DB_PASSWORD=123456 -p 2020:80 --link wpMysql:mysql wordpress
  • -v: 指定数据卷,将WordPress容器的/var/www/html/映射到宿主机的/data/wordpress/www/html/
  • "WORDPRESS_DB_HOST": 链接的docker的MySQL的IP地址和端口,一般设置成mysql表示用默认的设置
  • "WORDPRESS_DB_USER": 以什么用户使用MySQL,默认是root
  • "WORDPRESS_DB_PASSWORD" 这设置MySQL的登陆用户密码,由于上一项是默认的root,所以这一项和之前的"MYSQL_ROOT_PASSWORD“要相同。
  • "WORDPRESS_DB_NAME": 数据库的表名,不需要修改,用默认的”wordpress"就行
  • --link: 和其他容器做连接
  • -d: 后台运行

安装完成

如果登录时用的是https+域名,输入地址后会发现无法加载js及css,wordpress全站改https解决办法如下:

进入WordPress程序目录 cd /data/wordpress/www/html ,修改配置 vi wp-config.php 在第一段注释后面增加以下代码:

$_SERVER['HTTPS'] = 'on';
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);

参考资料: www.jianshu.com/p/2faca4e1f…