【技术】更改docker网络MTU办法

直接解决 ------ 修改 docker0 MTU 配置后重启 docker

方式一、修改 daemon.json 文件

复制代码
$ vim /etc/docker/daemon.json
{
  "mtu": 1400
}

$ systemctl restart docker

方式二、修改 systemd unit file 指明启动参数 --mtu (不同系统位置可能不同

复制代码
$ vim /lib/systemd/system/docker.service 

ExecStart=/usr/bin/dockerd --mtu 1400 -H fd:// --containerd=/run/containerd/containerd.sock

$ systemctl daemon-reload

$ systemctl restart docker

注意,修改重启后,如果 docker0 上当前没有容器运行。使用 ifconfig/ip 命令会看到处于 DOWN 状态的 docker0 MTU 仍然会显示为 1500,创建容器后即会变成 1400

间接解决 ------ 不使用 docker0 网桥

即不使用默认网络,指定 opt com.docker.network.driver.mtu

复制代码
$ docker network create \
  --opt com.docker.network.bridge.name=mtu0 \
  --opt com.docker.network.driver.mtu=1400 \
  --driver=bridge \
  --subnet=172.28.0.0/16 \
  --gateway=172.28.0.1 \
  mybridge
 $ docker run --rm -it --name test --network mybridge alpine 
 # ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
25: eth0@if26: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1400 qdisc noqueue state UP
    link/ether 02:42:ac:1c:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.28.0.2/16 brd 172.28.255.255 scope global eth0
       valid_lft forever preferred_lft forever
相关推荐
爱小黄1 小时前
使用docker搭建集群-使用 Docker 搭建 KingbaseES 集群
运维·docker·容器
KaMeidebaby2 小时前
卡梅德生物技术快报 | 核酸适配体文库测序:核酸适配体文库测序的技术原理、实验流程与数据解析
前端·网络·数据库·人工智能·算法
上海云盾商务经理杨杨3 小时前
2026 生产级 Linux 内核抗 DDoS 调优!全套 sysctl 配置直接套用
网络·安全·ddos
余—笙3 小时前
Docker安装rabbitmq并安装延迟队列插件
docker·容器·rabbitmq
rcms152702692183 小时前
CISCO 73-11029-01 印刷电路板
网络
韩楚风3 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
星恒讯工业路由器4 小时前
工业以太网核心技术解析
网络·物联网·网络拓扑·信息与通信·业以太网·网络冗余
云栖梦泽在4 小时前
稳如狗网络工具箱:IP、DNS、WebRTC、测速、连通性和全球延迟检测工具简明介绍
网络·网络协议·tcp/ip·网络安全·性能优化·webrtc
网络安全零基础教程4 小时前
网络安全春招面试避坑与复盘指南
linux·网络·安全·web安全·面试·职场和发展
kirs_ur4 小时前
SSD 安全特性 — 加密与 TCG Opal
服务器·网络·安全