【发布时间】:2020-11-21 23:35:56
【问题描述】:
我在 Centos 7.9.2009 上运行 Docker,遇到了一个非常奇怪的问题。容器没有网络访问权限,无法从主机访问。我已经搜索了潜在的解决方案,其中很多似乎与 DNS 问题有关(我认为这不是这里发生的事情,因为即使从容器内 ping 8.8.8.8 也不起作用)。我试过安装 iptables-service,按顺序重启 iptables 和 docker,完全重启等。
在尝试找出问题所在的过程中,我在一个单独的终端中运行了 tcpdump。一旦我这样做,一切正常!终止 tcpdump 进程,一切都停止 - 无法访问网络。关于为什么运行 tcpdump 可以解决问题的任何建议?与tcpdump监听docker0并建立网络状态有关吗?
启动时tcpdump的输出:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on docker0, link-type EN10MB (Ethernet), capture size 262144 bytes
uname -a 的输出:
Linux 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
/etc/redhat-release 的输出:
CentOS Linux release 7.9.2009 (Core)
ip地址的输出:
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:8b:94:46:19 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:8bff:fe94:4619/64 scope link
valid_lft forever preferred_lft forever
iptables 的输出 --list -t nat:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
DOCKER all -- anywhere !loopback/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 172.17.0.0/16 anywhere
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere
docker 版本的输出:
Client: Docker Engine - Community
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:03:45 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:02:21 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
提前致谢!
【问题讨论】:
标签: docker networking