我一直在尝试使用MySQL和PHP迁移到docker,但我无法解决链接容器问题。我设法让mysql:5.7
与wordpress:latest
和phpmyadmin
合作,通过运行来测试它:
docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7
docker run --name testadmin -d --link testdb:db -p8080:80 phpmyadmin/phpmyadmin
docker run --name testwp -d -p 80:80 -e WORDPRESS_DB_PASSWORD=password --link testdb:mysql wordpress
使用tag:db
我曾使用tag:mysql
,反之亦然会带来连接问题。我试图理解差异以及使用tag:db
或tag:mysql
确定连接类型,即套接字与tcp
我已经尝试搜索有关链接的详细信息的文档,但是没有太多关于不同链接类型的信息,或者我的googlefu不符合要求。
我仍在深入了解phpmyadmin的源代码以及wordpress的源代码,以确定他们正在使用的功能但我需要一些时间来完成所有工作。任何信息或指针都会非常感激。
答案 0 :(得分:0)
MySql容器看起来对我来说正确,所以继续使用:
docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7
但是在phpadmin中你必须在MySql的链接中使用名称testdb
,例如:
docker run --name testadmin -d --link testdb -p8080:80 phpmyadmin/phpmyadmin
这里你有从这个容器到另一个testdb
的明确链接,因此在phpmyadmin中你可以引用MySql容器。
对于wordpress
,你必须这样做,并链接到MySql容器的名称,如:
docker run --name testwp -d -p 80:80 --link testdb wordpress
此处您不必提供MySql root密码,因为此密码仅供MySql容器使用。
这种方法适合我,希望它能帮到你!