查看我的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它。
通过阅读,看起来我需要添加一个自定义桥:
有没有办法让网桥从DHCP服务器获得新鲜的ips?例如,如果我的DHCP服务器分配了10.1.1.x中的地址 - 我想将这些地址分配给Docker容器。
这是否会涉及将iptable / etc / hosts ip地址和dns名称推送到DNS服务器的通用* nix方式,以便Docker群集之外的其他计算机可以ping这些计算机?
我有端口转发工作但需要对ip地址执行相同操作,因为Zookeeper只跟踪我在docker-compose.yml中定义的内部Docker ip地址和主机名。