Docker容器无法访问网络

时间:2016-01-11 01:07:06

标签: ubuntu docker kubernetes

如果没有'--net = host'运行,我的所有容器都无法访问互联网。

环境

  • 发行版:Ubuntu 13.04
  • docker:1.6.2
  • go:go1.4.2
  • ufw:DEFAULT_FORWARD_POLICY="ACCEPT"
  • 2375 port:2375/tcp ALLOW Anywhere
  • docker守护程序: docker -d -H unix:///var/run/docker.sock --bip=172.17.42.1/16 -b docker0
  • docker0 interface:docker0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN

问题

我可以手动附加--net=host,但kubernetes总是在没有它的情况下运行docker。所以pod中的任何码头工人都无法提取图像。更糟糕的是,留言簿示例失败,错误为connection refused,甚至在x.x.x.x redis-master个奴隶中添加/etc/hosts

那么有没有办法将主机模式用作docker守护程序arg或kube arg?

1 个答案:

答案 0 :(得分:1)

Kubernetes允许您基于每个pod启用主机网络。有关yaml配置中应指定位置"hostNetwork": true的位置的示例,请参阅Kubernetes apiserver的配置。