我使用的是Ubuntu服务器22.04下的Docker版本20.10.21。从一周前开始,我的Docker容器无法访问互联网上的公共API(例如Public holidays in France)。它们可以在apt更新和升级完成之前访问。
我认为这是一个Docker网桥网络相关的问题摆在首位,所以我尝试了这个解决方案:My docker container has no internet
然后,我试着
docker network prune
,然后我试图卸载并重新安装Docker。
经过调查,我的诊断是错误的,因为我可以ping公共名称,但我不能 curl 任何URL:
我不明白为什么会突然发生这个问题,我也没有办法解决这个问题。
更新日期:
Docker容器不能 curl 任何URL,但我的Ubuntu主机可以。
对于Docker主机网络,curl工作于给定的API。
另一方面,如果我在Docker Desktop上运行相同的容器,在我的开发计算机上,这工作得很好。
1条答案
按热度按时间5f0d552i1#
我终于发现了问题所在,我的主机网络接口的MTU和Docker网络的默认值(1500)不一样。
我检查了网络接口MTU:
然后,我在
/etc/docker/daemon.json
中设置了Docker守护进程的MTU:然后别忘了重新启动Docker: