Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 码头工人:什么;这就是--link-tag:db和--link-tag:mysql之间的区别_Php_Mysql_Docker - Fatal编程技术网

Php 码头工人:什么;这就是--link-tag:db和--link-tag:mysql之间的区别

Php 码头工人:什么;这就是--link-tag:db和--link-tag:mysql之间的区别,php,mysql,docker,Php,Mysql,Docker,我一直在尝试使用MySQL和PHP迁移到docker,但我在链接容器方面遇到了困难。我已经设法使用wordpress:latest和phpmyadmin通过运行以下命令来测试mysql:5.7: 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

我一直在尝试使用MySQL和PHP迁移到docker,但我在链接容器方面遇到了困难。我已经设法使用
wordpress:latest
phpmyadmin
通过运行以下命令来测试mysql:5.7:

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:db
还是
tag:mysql
确定连接类型,即套接字还是tcp

我试着搜索与链接相关的详细文档,但要么没有关于不同链接类型的太多信息,要么我的googlefu没有达到标准


我仍在深入研究phpmyadmin的源代码和wordpress的源代码,以了解他们正在使用哪些功能,但这需要我花一些时间来理解。任何信息或指针都将不胜感激。

MySql容器看起来对我来说是正确的,所以请继续使用:

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7
但在phpadmin中,在链接到MySql时必须使用name
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根密码,因为此密码用于MySql容器,而不是用于此容器


这种方法对我很有效,希望能对你有所帮助

MySql容器看起来对我来说是正确的,所以请继续使用:

docker run --name testdb -d -e MYSQL_ROOT_PASSWORD=password mysql:5.7
但在phpadmin中,在链接到MySql时必须使用name
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根密码,因为此密码用于MySql容器,而不是用于此容器


这种方法对我很有效,希望能对你有所帮助

你指的是testdb:db吗?把差别分开,您不应该再在docker中使用
--link
,因为它已被弃用,并将在即将发布的版本中被删除Yes Sergiu当我在phpmyadmin链接上尝试testdb:mysql时,它会给出错误,并且使用testdb:db作为wordpress。感谢Tarun Lalwani的提醒。您是指testdb:db吗?请分开,您不应该再在docker中使用
--link
,因为它已被弃用,并将在即将发布的版本中被删除Yes Sergiu当我在phpmyadmin链接上尝试testdb:mysql时,它会给出错误,并使用testdb:db作为wordpress。感谢Tarun Lalwani的提醒。感谢Vladimir,当我在phpmyadmin命令上关闭:mysql时,它只是挂起并重置Hanks Vladimir,当我在phpmyadmin命令上关闭:mysql时,它只是挂起并重置