从其他容器访问mysql容器

2024-04-17

我已经使用暴露 3306 的 mysql 设置了 docker 容器。 我已经指定了数据库用户、数据库密码并创建了一个测试数据库并将权限授予新用户。
在另一个容器中,我想访问这个数据库。
因此,我使用一个简单的 php 脚本设置了新容器,该脚本在此数据库中创建新表。
我知道 mysql 容器的 ip 是 172.17.0.2 所以:

$mysqli = new mysqli("172.17.0.2", "mattia", "prova", "prova");

与使用 mysqli 相比,我创建了新表,一切正常。
但我认为使用他的 IP 地址连接到容器不好。
还有另一种方法来指定数据库主机吗?我尝试使用 mysql 容器的主机名,但它不起作用。


The --link标志被认为是遗留功能,您应该使用用户定义的网络。

您可以在同一网络上运行两个容器:

docker run -d --name php_container --network my_network my_php_image

docker run -d --name mysql_container --network my_network my_mysql_image

该网络上的每个容器都可以使用容器名称作为主机名相互通信。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从其他容器访问mysql容器 的相关文章

随机推荐