简单记录某云创建云主机部署docker,能ping通外网而curl不通的问题
一、问题描述
创建在Vxlan网络下的云主机部署docker后,启动docker服务后发现容器里可以解析ping通域名,curl访问却无法返回。
二、原因
Docker网桥mtu与宿主机mtu不一致导致的
三、排查过程
1.查验主机网络,查看主机网卡与docker网桥mtu是否一致
2.查验容器中网络
3.更改docker配置
编辑/etc/docker/daemon.json,添加跟主机网卡相同的mtu
[root]# cat /etc/docker/daemon.json
{"mtu":1450}
重启docker
systemctl daemon-reload
systemctl restart docker
4.查看主机网络,网桥并未变化
5.查看容器中网络,容器中已变更
6.访问测试,可正常访问
记录知识点:
MTU: 最大传输单元,是指一种通信协议的某一层上面所能通过的最大数据包大小,最大传输单元这个参数通常与通信接口有关。默认情况下,Docker使用MTU值为1500。但有时,网络连接可能需要使用较小的MTU值,修改mtu值可以有效地解决Docker在应用程序部署和网络通信方面遇到的问题。