繁体   English   中英

如何通过Docker安装Wordpress?

[英]How to install wordpress by docker?

题:

我遵循一些指南通过docker安装wordpress + mysql,但是发现它不起作用...我尝试通过curl命令进行测试,未找到任何输出,我需要您的帮助...(我只是转移了wordpress托管到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

遵循故障排除并测试wordpress:

[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 run xxxx”,则可能是由于命令错误引起的。 然后我尝试做docker-compose,不卷曲任何输出,但是Wordpress应该可以正常工作。 因此卷曲没有任何输出应该正常。

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

  1. 如果要通过Docker安装WP,请建议遵循Docker 官方指南

  2. 如果要映射mysql和wordpress,可以在撰写时添加跟随配置:

    在此处输入图片说明

  3. 如果您未在compose中配置端口部分,则意味着不会将任何端口暴露在容器外部,因此您无法从外部访问该端口,如下所示:

    在此处输入图片说明

  4. 当您更改“ docker-compose.yml”时,不仅请使用“ docker-compose down”,该操作不会删除所有配置/文件,还建议您进行“ docker-compose down --volumes”作为安装指南。

  5. 如果更改数据库名称,请在Wordpress(docker-compose.yml)的环境部分中添加“ WORDPRESS_DB_NAME:xxx”,在官方安装指南中不应使用此配置。 因此,wordpress的默认连接数据库名称为“ wordpress”。

  6. 如果要调试wordpress / mysql并检查日志,则不能添加“ -d”,请使用此“ docker-compose up”

  7. 为了恢复mysql数据库,您可以通过docker安装phpmyadmin,然后将Follow config添加到“ docker-compose.yml”,并按照“ https://hub.docker.com/r/phpmyadmin/phpmyadmin/ ”的指南进行操作。

    在此处输入图片说明

  8. 如果要在Wordpress的Docker中添加一些软件,例如zip,mailx,则可以执行以下操作:

    在此处输入图片说明

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

可能您需要将端口暴露给其他端口(而不是80)。 因此,请尝试更改wordpress的docker run命令,如下所示:

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

请注意以下命令中的-p 81:80参数-p 81:80文档暴露的端口

之后,wordpress应该可以在localhost:81

我建议您为服务创建docker-compose ,而不要维护链接,而通过docker-compose您也可以使用一个命令运行两种服务。

官方docker文档中有关于如何执行此操作的非常详细的说明。 请点击下面的链接,您将启动并运行wordpress。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM