我有一个带法兰绒的kubernetes簇。它工作正常。但是当我使用docker run
命令启动容器时,容器无法到达外部。
$ docker run --rm -ti centos:7.3.1611 bash
[root@d8a7d18b312a /]# ping 10.33.46.2
10.33.46.2 是我群集中的另一个节点,ping失败。
ip a show docker0
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN
link/ether 02:42:77:05:f5:6c brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:77ff:fe05:f56c/64 scope link
valid_lft forever preferred_lft forever
它显示我的docker0已关闭。我知道它在kubernetes集群中使用cni作为docker容器。但我在
中找不到任何可用的网络docker network list
NETWORK ID NAME DRIVER SCOPE
a3bd58929a71 bridge bridge local
925a55f8f13d host host local
f0c9234fb13f none null local
我没有理解如何在我的群集中使用docker run
。
答案 0 :(得分:0)
我在我的K8S群集上遇到了这个问题,我的Buildkite代理无法运行docker构建,因为它没有Internet访问权限。我通过在Docker命令中通知--network = host来使用主机网络而不是默认的桥接网络解决了这个问题。我不知道它是否正确,但是,它解决了我的问题。