Docker容器无法连接到互联网

时间:2018-08-08 17:38:27

标签: docker archlinux

我正在尝试使用docker,但无法将其连接到互联网。我正在运行archlinux。

$ docker run -it ubuntu apt update
Err:1 http://archive.ubuntu.com/ubuntu bionic InRelease                  
 Temporary failure resolving 'archive.ubuntu.com'
Err:2 http://security.ubuntu.com/ubuntu bionic-security InRelease        
 Temporary failure resolving 'security.ubuntu.com'
Err:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease          
 Temporary failure resolving 'archive.ubuntu.com'
Err:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease
 Temporary failure resolving 'archive.ubuntu.com'[/code]

我按照https://wiki.archlinux.org/index.php/Internet_sharing#Enable_packet_forwarding上的说明进行操作,并启用了转发功能,但此操作无效

$ cat /etc/sysctl.d/30-ipforward.conf 
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1
net.ipv6.conf.all.forwarding=1

我还尝试直接ping ip来检查它是否是DNS问题,但是它也不起作用。

$ docker run busybox ping -c 1 192.203.230.10
PING 192.203.230.10 (192.203.230.10): 56 data bytes

--- 192.203.230.10 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss

如果我通过--net = host标志,它将起作用

$ docker run -it --net=host ubuntu apt update

1 个答案:

答案 0 :(得分:0)

我仍然能够ping 172.17.2.1(Docker主机IP接口网关),但这是我可以从容器内联系的唯一IP地址。 IPv4转发也已启用。 --network 'host'是解决此问题的快速解决方案...

找出某人/某物清除了iptables防火墙,并用默认的ACCEPT规则替换了每个表中的每个链!所有的docker nat和转发规则都丢失了。快速重启即可解决问题。