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中定义了它们。