Docker – 将IP地址公开给DNS服务器

看看我的docker主机的iptables我得到这样的东西:

sudo iptables -L

 Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain DOCKER (1 references) target prot opt source destination ACCEPT tcp -- anywhere 172.17.0.2 tcp dpt:http-alt 

我能够像这样分配一个持久的IP地址:

 sudo ip addr add 10.0.0.99/8 dev eth0 docker run -d -p 10.0.0.99:8888:8080 tomcat:8 

但是这个地址只能在这台机器上使用,因为在我需要ssh入它并从这个盒子ping它。

通过阅读,看起来像我需要添加一个自定义桥:

自定义Docker桥

有没有办法让桥接器从DHCP服务器上移动? 例如,如果我的DHCP服务器从10.1.1.x分配地址 – 我想分配这些地址到Docker容器。

这是否涉及一种通用的* nix方法,将我的iptable / etc / hosts IP地址和DNS名称推送到DNS服务器,以便Docker集群外的其他计算机可以ping这些计算机?

我有端口转发工作,但需要做相同的IP地址作为Zookeeper只跟踪内部的Docker IP地址和主机名,因为我已经在我的docker-compose.yml中定义了它们。