相关疑难解决方法(0)

如何通过名称而不是IP地址访问docker容器?

有没有办法可以使用名称而不是IP地址访问我的docker容器?

我听说过管道工程,我已经看到了docker的一些dns和主机名类型选项,但我仍然无法将所有内容拼凑在一起.

感谢您的时间.

我不确定这是否有用,但这是我到目前为止所做的:

  • 使用docker-machine和vmwarevsphere驱动程序安装docker container host
  • 用docker-compose启动所有服务
  • 我可以使用IP和端口从网络上的任何其他计算机上获取所有服务

我已经将DNS别名条目添加到我的专用网络DNS服务器,它与docker-machine使用的机器名称相匹配.但是,当计算机启动并连接到网络时,它始终会选择不同的IP地址.

我只是迷失在哪里解决这个问题:

  • 网络DNS服务器
  • docker-machine主机名
  • docker container hostname
  • 可能是所有这些的组合

我可能正在寻找类似这个问题的东西:

如何让docker使用我的网络路由器轻松地将dhcp ip分配给容器而不是管道?

任何大方向都会很棒......再次感谢!

dns hostname docker docker-compose docker-machine

34
推荐指数
3
解决办法
3万
查看次数

Docker嵌入式DNS解析器如何工作?

我知道Docker有一个嵌入式Dns解析器.
当我在自己的桥上运行一个容器时:

$ docker run -it --rm --privileged --network=mybridge xxx bash

root@18243bfe6b50:/# cat /etc/resolv.conf  
nameserver 127.0.0.11  
options ndots:0  

root@18243bfe6b50:/# netstat -anop  
Active Internet connections (servers and established)  
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name Timer  
tcp        0      0 127.0.0.11:45997        0.0.0.0:*               LISTEN      -                off (0.00/0/0)  
udp        0      0 127.0.0.11:49614        0.0.0.0:*        

it shows there is a dns resolver, and iptables help do a port transfer.  

root@18243bfe6b50:/# iptables -nvL -t nat  
.....  
Chain DOCKER_OUTPUT (1 references)  
 pkts bytes target     prot …
Run Code Online (Sandbox Code Playgroud)

namespaces docker

21
推荐指数
1
解决办法
2378
查看次数