Docker 更改MTU大小

更改docker host的MTU

为了优化网络传输能力,有时候我们需要更改MTU的大小。

Linux环境

安装jq

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum repolist
yum install -y jq

检查文件/etc/docker/daemon.json是否存在

vi /etc/docker/daemon.json

如果文件存在就添加"mtu : 1450"
这里mtu根据具体的情况设置为 576或者1450或者其他值

也可以通过执行以下命令来设置

if [ -f /etc/docker/daemon.json ]; then 
cat daemon.json| jq 'setpath(["mtu"];576)' > daemon.json.jq && mv -f daemon.json.jq daemon.json
else
cat > /etc/docker/daemon.json <<EOF
{
  "mtu": 576
}
EOF
fi

如果当前机器已经有docker存在,则重启docker

systemctl restart docker

需要注意重启docker host对已有docker的影响

Windows或者MacOS

右键点击Docker Desktop小图标,选择Settings->Daemon
点击Advanced,在json最后面添加 mtu:1450

{
  "registry-mirrors": [
    "https://9suxxh169.mirror.aliyuncs.com"
  ],
  "insecure-registries": [],
  "debug": true,
  "experimental": false,
  "mtu" : 1450
}

最后一行为添加的内容

更改自定义网络MTU

如果容器使用自定义网络则需要额外的操作

清除旧网络

清除旧网络需要把所有的关联容器全部删掉,如果项目已经部署,需要考虑重建容器的风险

docker stop app
docker rm app
docker network rm app-network

建立新网络

这里以bridge网络为例

docker network create --opt com.docker.network.driver.mtu=1450 app-network

然后重新建立被删除的app容器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值