小编Mar*_*edt的帖子

docker在默认桥接网络上的嵌入式DNS

这个问题可能是针对所有的码头工人大师.但首先让我先介绍一下背景.我遇到了dns解决问题(在docker的默认网络"bridge"上),直到我在https://docs.docker.com/engine/userguide/networking/的文档中阅读了以下内容.

上面的docker network inspect命令显示给定网络上的所有连接容器及其网络资源.此默认网络中的容器可以使用IP地址相互通信.Docker不支持默认网桥上的自动服务发现.如果要与此默认桥接网络中的容器名称进行通信,则必须通过旧版docker run -link选项连接容器.

由于该--link选项已弃用,使任何docker run命令挂起并最终破坏docker守护程序进程(本地)我尝试使用不同的桥接用户网络并将虚拟实例固定到它.

docker network create -d bridge --subnet=172.15.0.0/16
  --gateway=172.15.0.1 
  -o com.docker.network.bridge.default_bridge=false 
  -o com.docker.network.bridge.enable_icc=true 
  -o com.docker.network.bridge.enable_ip_masquerade=true 
  -o com.docker.network.driver.mtu=1500 
  -o com.docker.network.bridge.name=docker1 
  -o com.docker.network.bridge.host_binding_ipv4=0.0.0.0 a

docker run --name db1 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16
docker run --name db2 -e MYSQL_ROOT_PASSWORD=a -d mysql:5.7.16
docker network connect --ip 172.15.0.40 a db1
docker network connect --ip 172.15.0.40 a db2
Run Code Online (Sandbox Code Playgroud)

现在通过--name使用命名的服务/容器的解决方案工作正常,ping但问题是:

为什么默认桥接网络上无法解析服务/容器名称?

如果任何码头网络大师可以给出一个提示,那将会很棒.问候.

dns docker

3
推荐指数
1
解决办法
1881
查看次数

标签 统计

dns ×1

docker ×1