我的 Docker 容器可以 ping 通但无法卷曲 URL

问题描述 投票:0回答:1

我在 Ubuntu 服务器 22.04 下使用 Docker 版本 20.10.21。 从一周前开始,我的 Docker 容器无法访问互联网上的公共 API(例如法国的公共假期)。他们可以在 apt 更新和升级完成之前到达它。

我首先认为这是一个与 Docker 桥接网络相关的问题,所以我尝试了这个解决方案: 我的docker容器没有互联网

然后我尝试了

docker network prune

,然后我尝试卸载并重新安装 Docker。

经过调查,我的诊断是错误的,因为我可以 ping 通公众名称,但无法卷曲任何 URL:

我不明白为什么这个问题突然发生,我也没有办法解决这个问题。

更新:

Docker 容器无法卷曲任何 URL,但我的 Ubuntu 主机可以。

使用 docker 主机网络,curl 适用于给定的 API。

另一方面,如果我在我的开发计算机上的 Docker Desktop 上运行相同的容器,效果很好。

docker curl ubuntu-22.04
1个回答
2
投票

我终于知道问题出在哪里了。我的主机网络接口的 MTU 与 docker 网络的默认值 (1500) 不同。

我检查了我的网络接口 MTU:

ip a | grep mtu

然后,我在

/etc/docker/daemon.json
中设置了docker守护进程的MTU:

{
    "mtu" : 1280
}

然后别忘了重启docker:

systemctl restart docker
© www.soinside.com 2019 - 2024. All rights reserved.