作为标题。当docker0处于混杂模式时,我只能从主机访问docker容器,
甚至我都停止了我的firewalld.service。

我通过此命令启动容器docker run -p 9000:80 --name nginx --rm nginx
当我尝试连接到服务器时:curl 127.0.0.1:9000,它返回:接收失败:对等重置连接

但是如果我像这样在docker0上运行tcpdump:sudo tcpdump -i docker0一切都按预期进行。 After some searching,我发现tcpdump命令将docker0接口(interface)转换为混杂模式。

我的主机系统:centos-release-7-7.1908.0.el7.centos.x86_64
Docker版本:19.03.8

最佳答案

最后,我找到了解决方案!事实证明这是一个不好的接口(interface)。我必须删除docker0接口(interface)并重新启动docker服务。然后问题就消失了!

sudo ip link delete docker0
sudo systemctl restart docker.service

10-06 08:38