我有一个运行在名为mongo1
27017 的容器中的 mongo 实例。我可以从主机正常连接。
我有另一个容器正在运行一个想要连接到 mongo 实例的应用程序。
如何连接 2 个容器,以便主机名mongo1
暴露给另一个容器并且它可以连接到mongo1:27017
?
我有一个运行在名为mongo1
27017 的容器中的 mongo 实例。我可以从主机正常连接。
我有另一个容器正在运行一个想要连接到 mongo 实例的应用程序。
如何连接 2 个容器,以便主机名mongo1
暴露给另一个容器并且它可以连接到mongo1:27017
?
发生的事情是默认的 docker 网络不允许
name >> DNS
映射。所以我创建了一个新网络:
然后将容器添加到该网络:
现在他们可以看到对方的名字了。
对于现有容器(作为临时解决方案)
/etc/hosts
并在容器内编辑/添加然后从带有 IP 地址的容器映射 container_name 内部.. 示例
.......
或者您可以在启动容器时为其分配主机名
echo "172.17.0.5 mango1" >> /etc/hosts
和/或在 docker 文件中添加示例命令以减少头痛