如何通过docker安装wordpress?

题:

我按照一些指导,通过docker安装wordpress + mysql,但发现不工作…我试图通过curl命令testing,发现没有任何输出,我需要你的帮助的问题…(我只是转移我的WordPress托pipe到VPS)

docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql docker run --name wordpress --link mysql:mysql -e WORDPRESS_DB_PASSWORD=123456 -d wordpress:4.8.2-apache [root@vps ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6bd3954390e0 wordpress:4.8.2-apache "docker-entrypoint..." 11 seconds ago Up 10 seconds 80/tcp wordpress eaa1f6a2fb96 mysql "docker-entrypoint..." 25 seconds ago Up 24 seconds 3306/tcp mysql 

按照故障排除和testingWordPress的:

 [root@vps ~]# curl localhost:80 curl: (7) Failed connect to localhost:80; Connection refused [root@vps ~]# docker inspect --format='{{.NetworkSettings.IPAddress}}' 6bd3954390e0 172.17.0.3 [root@vps ~]# curl 172.17.0.3:80 [root@vps ~]# 

解决:

感谢@ junius( 在 docker 论坛上 ),@VladoDemcak,@yamenk和@ user4860092! 问题解决了!

如果我做“docker运行xxxx”,不应该为我工作,这可能是由命令不正确引起的。 然后,我试图做docker撰写,curl没有任何输出,但Wordpress应该正常工作。 所以curl没有任何输出应该正常。

现在,我完成了将我的Wordpress转移到新的VPS的任务,分享以下技巧和经验:

  1. build议按照docker工人官方指南,如果你想通过docker安装WP。

  2. 如果你想映射mysql和wordpress,可以添加如下configuration:

    在这里输入图像说明

  3. 如果你没有configuration端口部分,这意味着不能将任何端口暴露在容器外部,所以你不能从外部访问端口,如下所示:

    在这里输入图像说明

  4. 当你改变“docker-compose.yml”的时候,请不要只用“docker-compose down”不会删除所有的config / file,build议你做“docker-compose down -volumes”作为安装指南。

  5. 如果更改数据库名称,请在Wordpress的环境部分(docker-compose.yml)中添加“WORDPRESS_DB_NAME:xxx”,在正式安装指南中不应该有这个configuration。 所以wordpress的默认连接数据库名称是“wordpress”。

  6. 如果你想debuggingwordpress / mysql并检查日志,你不能​​添加“-d”,使用这个“docker-up up”

  7. 为了恢复mysql数据库,你可以通过docker安装phpmyadmin,然后添加跟随configuration到“docker-compose.yml”,并按照“ https://hub.docker.com/r/phpmyadmin/phpmyadmin/ ”

    在这里输入图像说明

  8. 如果你想在Wordpress的Docker中添加一些软件,例如:zip,mailx,你可以按照下面的步骤操作:

    在这里输入图像说明

您没有暴露的端口,所以您无法访问docker容器中port 80上运行的wordpress(从主机)。

可能您需要将端口暴露给其他端口(而不是80)。 所以尝试更改docker运行命令为WordPress的如下:

 docker run --name wordpress --link mysql:mysql -e WORDPRESS_DB_PASSWORD=123456 -p 81:80 -d wordpress:4.8.2-apache 

请注意-p 81:80参数在命令 – Docker文档公开 – 传入端口 。

之后,wordpress应该在localhost:81上可用。

我build议你为你的服务创builddocker-compose而不是维护链接,并且用docker-compose你也可以用一个命令运行这两个服务。

在官方docker文件中有一个非常详细的解释如何做到这一点。 按照下面的链接,你会得到wordpress运行。

https://docs.docker.com/compose/wordpress/