Openwrt Docker 安装WordPress 指南
1、安装及配置
yum install docker #docker安装
systemctl start docker #启动docker
docker pull wordpress #拉取wordpress镜像
docker pull mysql:5.6 #拉取mysql镜像
docker images #查看是否安装成功
docker run -d --name wordpressdb -e MYSQL_ROOT_PASSWORD=password mysql:5.6 #启动mysql
-d:启动的容器在后台运行
--name:容器名字
--e:MYSQL_ROOT_PASSWORD:设置MySQL的root密码,设置的密码为password
:5.6:指定版本
docker run -d --name wordpress --link wordpressdb:mysql -p 8080:80 wordpress #启动wordpress
-d:启动的容器在后台运行
--link:将wordpress容器挂载到mysql
-p:指定访问WordPress容器的8080端口
2、验证是否安装成
http://192.168.31.1:8080/wp-admin/setup-config.php #测试虚拟机IP地址192.168.31.1.
显示这样就安装完成!
但是在后续配置过程中出现了很多问题:
wordpress和mysql安装完后,进入安装界面,输入数据库名称、密码等,报账号密码错误。检查发现数据库内未建库,wp-config.php未设置账号密码,修改过后配置数据库地址的时候也一直报错,无法衔接数据库。按下列步骤执行命令并修改。
docker exec -it wordpressdb mysql -uroot -p #登陆数据库,输入密码password
show databases; #查看是否有建库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema | #这里会显示是否有库
create database wordpress; #建库
flush privileges; #刷新
docker exec -it <这里输入你WordPress的容器ID> /bin/bash #登陆wordpress
/var/www/html# apt-get install vim #wordpress容器中没安装vim,手动安装
/var/www/html# vim wp-config-docker.php #查看wp-config-php
define( 'DB_NAME', getenv_docker('WORDPRESS_DB_NAME', 'wordpress') ); #数据库名称修改成wordpress
/** Database username */
define( 'DB_USER', getenv_docker('WORDPRESS_DB_USER', 'root') ); #账号修改成root
/** Database password */
define( 'DB_PASSWORD', getenv_docker('WORDPRESS_DB_PASSWORD', 'password') ); #密码修改成password
/var/www/html# exit #退出
docker restart <容器ID> #重启容器
3、注意事项:
上述步骤当中也有坑,可能你在ssh输入vim wp-config-docker.php后,openwrt的docker无法找到这个文件,这时候就需要自己手动,看下图步骤:
1.在openwrt的docker里面找到容器,点击名称进入
2.点击文件进入文件夹
依次点进文件夹:var -----www-----html-----wp-config-docker.php并把php文件下载到本地
然后在本地解压出来,
这里我们用Notepad++打开并找到红框处修改:
修改完成后保存。
再进op界面,先把源文件删除掉,再点击上传把刚刚修改好的php文件上传至op的docker。
完成后尽量把WordPress和mysql容器分别重启一次!
后面发现问题出在了配置数据库地址上,如果一直配置localhost就一直失败。
只有把localhost修改成为mysql数据库容器的桥接地址才可以,如下:172.17.0.7:3306
docker其他命令
docker ps #查看运行中的容器
docker images #查看镜像
docker inspect <容器ID> #查看镜像元数据
docker top <容器名称> #查看容器的进程信息
docker container ls -aq #仅查看容器id
docker logs -f <容器ID> #查看实时logo
齐活!散会!