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