我试图创建两个Docker容器,一个包含MySQL数据库,另一个包含Apache/PHP和MediaWiki。我正在使用Docker Hub上最新的MySQL和MediaWiki镜像。
我使用以下命令创建这2个容器:
我使用以下命令创建这2个容器:
docker container run -d --name mediawiki --restart always -p 8080:80 mediawiki
docker container run -d --name mw-mysql -v mw-mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD="Sup3rS3cret" -p 3306:3306 --restart always mysql
我不确定是否需要映射MySQL端口(3306),因为那是默认的。我也相当肯定没有任何东西在80端口上监听,所以我可能也不需要将其映射到8080。
我还创建了一个网络,并将两个容器添加到该网络中:
docker network create mediawiki
docker network connect mediawiki mediawiki
docker network connect mediawiki mw-mysql
在运行Docker的主机上,我可以启动mysql客户端并连接到运行在mw-mysql中的MySQL数据库。如果我登录到mediawiki容器中,我可以ping mw-mysql容器。
镜像已经成功下载和创建,但是当我浏览http://localhost:8080/访问MediaWiki网站并开始配置MediaWiki时,它无法连接到数据库。
我有以下服务器:"mw-mysql"、"my-mysql.mediawiki"、"localhost"、"127.0.0.1"以及用户ID "root" 和上面的超级秘密密码。
我被难住了。我也是Docker的新手。我一定是做了什么愚蠢的事情,但我就是看不出来。欢迎提出任何建议。
mw-mysql:3306
吗? - flamberge552