簡體   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