我正在尝试使用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
答案 0 :(得分:0)
我仍然能够ping 172.17.2.1
(Docker主机IP接口网关),但这是我可以从容器内联系的唯一IP地址。 IPv4转发也已启用。 --network 'host'
是解决此问题的快速解决方案...
找出某人/某物清除了iptables防火墙,并用默认的ACCEPT
规则替换了每个表中的每个链!所有的docker nat和转发规则都丢失了。快速重启即可解决问题。