我有一台运行Docker的CentOS 7主机。当我从主机执行ping操作到8.8.8.8时,ping成功,而docker容器内的同样不起作用。
来自主持人
[root@linux1 ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=47 time=31.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=47 time=31.6 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 31.592/31.617/31.643/0.179 ms
来自Docker Container(我使用的是基本的ubuntu映像):
[root@linux1 ~]# docker run ubuntu ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 172.17.0.1 icmp_seq=1 Destination Host Unreachable
From 172.17.0.1 icmp_seq=2 Destination Host Unreachable
From 172.17.0.1 icmp_seq=3 Destination Host Unreachable
From 172.17.0.1 icmp_seq=4 Destination Host Unreachable
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 0 received, +4 errors, 100% packet loss, time 5000ms
pipe 4
任何建议都会有所帮助。感谢
答案 0 :(得分:1)
在Debian9上重启Docker守护程序
service docker restart
,连接和网络工作正常
答案 1 :(得分:0)
答案 2 :(得分:0)
最近我遇到了类似的网络问题。此处的其他答案无济于事:DNS运行正常,重新启动Docker不会改变任何事情。我发现将网络指定为host
即可解决问题。
有三种方法:
通过在network_mode
文件中设置yaml
:
services:
worker:
build: .
network_mode: host
在image building stage中用于RUN命令:
docker build --network=host
在应用程序的execution stage中:
docker run --network=host <image>
答案 3 :(得分:0)
我在分别停止和启动容器时遇到了同样的问题。我刚刚重建容器。
docker-compose down
docker-compose build
docker-compose up -d
然后问题就解决了。