Mysql 将2个Conatiner与docker连接--网络

Mysql 将2个Conatiner与docker连接--网络,mysql,docker,phpmyadmin,docker-networking,docker-network,Mysql,Docker,Phpmyadmin,Docker Networking,Docker Network,我正在尝试将一个phpmyadmin容器连接到另一个mysql容器。我用docker network create创建了一个网络,并添加了两个容器。但是当我尝试使用phpmyadmin登录时,密码不正确每次都会显示错误。 我检查了这两个容器是否可用于我已经创建的网络,因此我尝试pingmysql容器到phpmyadmin容器,但不幸的是,结果是否定的。 我遵循了本教程: 你能给我解释一下docker run--network的工作原理吗?如果一切正常,那么你可以使用容器名称从一个容器ping到

我正在尝试将一个phpmyadmin容器连接到另一个mysql容器。我用
docker network create
创建了一个网络,并添加了两个容器。但是当我尝试使用phpmyadmin登录时,密码不正确每次都会显示错误。 我检查了这两个容器是否可用于我已经创建的网络,因此我尝试
ping
mysql容器到phpmyadmin容器,但不幸的是,结果是否定的。 我遵循了本教程:


你能给我解释一下docker run--network的工作原理吗?

如果一切正常,那么你可以使用容器名称从一个容器ping到另一个容器。当您在两个容器之间创建网络时,它会创建一个具有容器名称和容器IP的别名。 比如说

docker network create my-bridge-network
docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql/mysql-server --network my-bridge-network
docker run --name phpmyadmin -d -e PMA_HOST=mysql -p 8080:80 phpmyadmin/phpmyadmin --network my-bridge-network
在这种情况下,当您从
phpmyadmin
容器中执行
exec
ping
时,您应该能够ping
mysql
容器

docker exec phpmyadmin ping mysql # if in phpmyadmin `ping` program is available

谢谢你的消息。我尝试了从phpmyadmin执行ping,我成功了,但是当我尝试使用mysql时,ping失败了。我的问题是:我应该使用映像mysql/mysql服务器,还是可以使用任何dabtabse服务器?如果指定docker network,它将连接容器。因此,容器将能够相互通信。因此,您可以在其他容器中指定任何数据库服务器,如果在同一网络中,您可以在容器中ping它们。非常感谢