Docker:--link标签:db和--link标签:mysql之间的区别是什么

时间:2017-11-03 04:46:56

标签: php mysql docker

我一直在尝试使用MySQL和PHP迁移到docker,但我无法解决链接容器问题。我设法让mysql:5.7wordpress:latestphpmyadmin合作,通过运行来测试它:

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:dbtag:mysql确定连接类型,即套接字与tcp

我已经尝试搜索有关链接的详细信息的文档,但是没有太多关于不同链接类型的信息,或者我的googlefu不符合要求。

我仍在深入了解phpmyadmin的源代码以及wordpress的源代码,以确定他们正在使用的功能但我需要一些时间来完成所有工作。任何信息或指针都会非常感激。

1 个答案:

答案 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容器使用。

这种方法适合我,希望它能帮到你!