限制Docker容器上下行带宽
前言
在某些国内云服务器商,如果服务器带宽较小或者有Docker容器会跑满服务器带宽。
持续的高上下行,可能会收到一些服务器警告,或者怀疑被攻击而被封禁。
这个时候需要限制一些流量的进出带宽,以下针对Linux环境操作。
正文
安装WonderShaper
WonderShaper是一个允许用户限制一个或多个网络适配器带宽的脚本,依赖于tc流量控制工具。
以下命令都基于root权限执行,否则请使用sudo前缀执行。
1  | 拉取仓库  | 
注意一些服务器未安装tc流量控制工具,需要进行额外安装。
1  | Centos 8  | 
使用WonderShaper限流
查看需要的网卡名称
这里以docker的网卡为例,当然有需要限制其他网卡同理。
1  | ip addr  | 
设置网卡上下行
docker0为网卡名称,-d为下行、-u为上行,单位为Kbps
1  | 限制docker0网卡为2M的上下行  | 
查看网卡状态
1  | wondershaper -s -a docker0  | 
恢复网卡上下行限制
1  | wondershaper -c -a docker0  | 
使用iftop查看限流状态
iftop是监控某个应用或网卡流量的工具。
这里只是为了方便终端查看。也有其他同类型的,比如nload、nethogs等等。
安装
这里仅以Centos为例
1  | yum install -y iftop  | 
使用
显示本机所有进程的进出流量
1  | iftop  | 
查看指定网卡的进出流量
1  | iftop -i docker0  | 
显示端口信息
1  | iftop -i docker0 -P  | 
End
其他工具: vnstat
本环境是因为没有多余的容器,所以直接限制的docker0网卡不会影响到其他服务。
有其他单独需求,限制单个容器的虚拟网卡应该同理。
- 标题: 限制Docker容器上下行带宽
 - 作者: Lkeme
 - 创建于 : 2024-04-15 14:25:52
 - 更新于 : 2025-04-28 11:58:37
 - 链接: https://mudew.com/2024/04/15/限制Docker容器上下行带宽/
 - 版权声明: 版权所有 © Lkeme,禁止转载。
 
        评论