Docker的bridge localhost的IP是什么?

时间:2017-12-21 12:04:31

标签: docker networking

我停泊了我的应用程序。我现在有两个容器。其中一个想和另一个人交谈,在它的配置中我有"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"吗?

3 个答案:

答案 0 :(得分:1)

您可以查看container IP。

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

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

答案 1 :(得分:1)

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

答案 2 :(得分:-1)

最佳使用方法是使用--link选项以避免许多更改。

  

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

因此,在您的应用程序中,您可以使用mongo:27017。没有做任何改变。

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

  

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