从其他容器访问mysql容器

我已经安装了带有mysql的docker容器,该容器公开了3306。我已经指定了数据库用户,数据库密码并创建了一个测试数据库,并将特权授予了新用户。

在另一个容器中,我想访问此数据库。

因此,我用一个简单的PHP脚本设置了新容器,该脚本在此db中创建了新表。

我知道mysql容器的ip是172.17.0.2这样:

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

比起使用mysqli,我创建了新表,并且一切正常。

但是我认为使用他的IP地址连接到容器不是很好。

还有另一种指定数据库主机的方法吗?我尝试使用mysql容器的主机名,但是它不起作用。

回答:

您需要在docker run命令中将docker容器与–link标志链接在一起,或者在docker-compose中使用链接功能。例如:

docker run -d -name app-container-name --link mysql-container-name app-image-name

这样,docker会将mysql容器的IP地址添加到应用程序容器的/ etc / hosts文件中。有关完整的文档,请参阅: MySQL

Docker容器:了解基础知识

以上是 从其他容器访问mysql容器 的全部内容, 来源链接: utcz.com/qa/408280.html

回到顶部