繁体   English   中英

Docker的网桥localhost的IP是什么?

[英]What is IP of bridge localhost for Docker?

我正在对我的应用程序进行码头处理。 我现在有两个容器。 其中一个想要与另一个通话,在配置中,我有"mongo": "127.0.0.1"我想他们应该通过网桥进行通话:

$ docker network inspect bridge

[
   {
       "Name": "bridge",
       "Id": "f7ab26d71dbd6f557852c7156ae0574bbf62c42f539b50c8ebde0f728a253b6f",
       "Scope": "local",
       "Driver": "bridge",
       "IPAM": {
           "Driver": "default",
           "Config": [
               {
                   "Subnet": "172.17.0.1/16",
                   "Gateway": "172.17.0.1"
               }
           ]
       },
       "Containers": {},
       "Options": {
           "com.docker.network.bridge.default_bridge": "true",
           "com.docker.network.bridge.enable_icc": "true",
           "com.docker.network.bridge.enable_ip_masquerade": "true",
           "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
           "com.docker.network.bridge.name": "docker0",
           "com.docker.network.driver.mtu": "9001"
       },
       "Labels": {}
   }
]

我现在应该将"mongo": "127.0.0.1"更改为"mongo": "0.0.0.0"吗?

您可以检查container IP。

$ docker inspect $(container_name) -f "{{json .NetworkSettings.Networks}}"

您可以从json的输出中找到IPAddress属性。

是的,您应该使用网桥网络。 可以使用默认的“网桥”,但不会为您提供DNS解析,请查看https://docs.docker.com/engine/userguide/networking/#user-defined-networks了解详细信息。

最好的使用方法是与--link选项一起使用,以免进行许多更改。

例如:--link mongo01:mongo,它将指示Docker将名为mongo01的容器用作链接容器,并在应用程序容器中将其命名为mongo

因此,在您的应用程序中,您可以使用mongo:27017。 无需进行任何更改。

请参阅此以获取更多详细信息。

https://www.thachmai.info/2015/05/10/docker-container-linking-mongo-node/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM