1

我正在尝试在一个 docker 主机中为多个容器设置 SkyDNS/SkyDock。所以每个容器都应该使用 172.17.42.1 (/etc/resolv.conf) 的 dns。

我遵循了README.md 中的设置部分:

docker run -d -p 172.17.42.1:53:53/udp --name skydns crosbymichael/skydns -nameserver 8.8.8.8:53 -domain docker
docker run -d -v /var/run/docker.sock:/docker.sock --name skydock crosbymichael/skydock -ttl 30 -environment dev -s /docker.sock -domain docker -name skydns

和测试通过

docker run -d --name redis1 crosbymichael/redis
docker run -t -i crosbymichael/redis-cli -h redis1.redis.dev.docker

它不工作。我可以从“redis-cli”容器主机 172.17.42.1 ping,但无法访问 172.17.42.1:53/udp。

有什么建议么?

4

1 回答 1

1

似乎默认安装中的 Centos 7(“最小安装”)在 iptables 中创建了许多规则/链。我不知道为什么,因为我不是系统管理员。因此,在我通过以下方式刷新所有链和规则之后:

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -F
iptables -t mangle -F
iptables -F
iptables -X

然后重新启动 docker 服务service docker restart ,一切都开始工作了。

于 2015-10-01T05:53:14.550 回答