当前位置: 首页 > 面试题库 >

从其他容器访问mysql容器

万知
2023-03-14
问题内容

我已经安装了带有mysql的docker容器,该容器公开了3306。我已经指定了数据库html" target="_blank">用户,数据库密码并创建了一个测试数据库,并将特权授予了新用户。
在另一个容器中,我想访问此数据库。
因此,我用一个简单的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 5.5,例如4200。 在一个带有暴露端口的容器中旋转MySQL 5.7,例如4300。 旋转golang容器以运行我的应用程序。 我的想法是我需要我的测试在不同的数据库版本上运行。 为此,我需要能够与golang容器中的每个sql容器进行对话。 我试过的: 方法1-使用--link: GO LANG应用程序容器 方法2-使用--ne

  • 问题内容: 我基于两个不同的图像创建了两个docker容器。一个数据库,另一个用于网络服务器。这两个容器都在我的Mac OS X上运行。 我可以从主机访问数据库容器,也可以从主机访问Web服务器。 但是,如何从Web服务器访问数据库连接? 我启动数据库容器的方式是 我开始了wls容器作为 我可以通过连接到主机上的数据库 我可以以以下方式访问主机上的wls: 问题答案: 最简单的方法是使用–link

  • 我基于两个不同的映像创建了两个docker容器。一个是db,另一个是WebServer。这两个容器都在我的mac OSX上运行。 我可以从主机访问db容器,也可以从主机访问webserver。 我可以访问主机上的wls作为

  • 问题内容: 我正在尝试为将我的应用程序容器连接到postgres容器提供一个便携式解决方案。“便携式”是指我可以给用户两个命令,每个容器一个,它们将始终协同工作。 我的本地PC上运行着一个postgres docker容器,我这样运行它, 我可以使用address从python flask应用程序访问它。 我也将python应用程序也放置在docker容器中,但无法连接到postgres容器。 地

  • 问题内容: 我正在使用MozillaFirefox,并且试图找到一种使用JavaScript和DOM访问同一窗口中其他选项卡的内容的方法(如果存在,我可以接受其他技术)。 例如, 我想运行一个JavaScript,在其中可以找到其他标签的标题。基本上,我需要这样做,以便可以标识由于当前页面中的而已打开的选项卡,而无需使用方法。我只需要一个简单的超级链接,即可打开与当前页面属于同一域的页面(该页面应