docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > docker wonderShaper网卡限速

docker运行wonderShaper实现网卡限速的代码实现

作者:爱码少年 00fly.online

WonderShaper是一款Linux下的网络带宽控制工具,本文介绍了在docker容器中执行wondershaper网卡限速的完整实现,利用iproute的tc命令来轻松地限制网络适配器的带宽,帮助用户更有效地管理网络流量,下面就来详细的介绍一下

一、wondershaper介绍

WonderShaper是一款Linux下的网络带宽控制工具,自2002年由Bert Hubert首次发布,后经多代人改进和增强。它利用iproute的tc命令来轻松地限制网络适配器的带宽,帮助用户更有效地管理网络流量。现在它提供了命令行接口,并使用HTB(Hierarchical Token Bucket)队列取代了CBQ,使其在高速网络环境下表现更出色。

二、docker运行wonderShaper

1、镜像构建

#基础镜像
FROM alpine:latest

#拷贝
COPY wondershaper1.4.1/wondershaper /usr/local/bin/

#安装tc、bash
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone \
    && sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update \
    && apk add iproute2 && apk add --no-cache bash \
    && chmod +x /usr/local/bin/wondershaper && dos2unix /usr/local/bin/wondershaper

#保持运行
CMD ["tail", "-f", "/dev/null"]

如果需要java环境,可修改为

FROM openjdk:8-jre-alpine

或者

FROM adoptopenjdk/openjdk8-openj9:alpine-slim

打包脚本 img-build.sh

#!/bin/bash
docker build -t registry.cn-shanghai.aliyuncs.com/00fly/wondershaper:1.4.1 .

执行打包输出

2、容器编排

docker-compose.yml

services:
  wondershaper:
    image: registry.cn-shanghai.aliyuncs.com/00fly/wondershaper:1.4.1
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    container_name: wondershaper 
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 128M
        reservations:
          cpus: '0.05'
          memory: 64M
    volumes:
      - /lib/modules:/lib/modules
    restart: on-failure
    network_mode: host
    logging:
      driver: json-file
      options:
        max-size: '5m'
        max-file: '1'

使用host网络、并赋予NET_ADMIN、SYS_MODULE角色,并执行/lib/modules文件映射,否则wonderShaper可能执行失败。

3、启动容器

restart.sh

#!/bin/bash
docker-compose down && docker-compose up -d

4、执行wonderShaper

执行docker exec -it wondershaper sh 命令进入容器内部测试

到此这篇关于docker运行wonderShaper实现网卡限速的代码实现的文章就介绍到这了,更多相关docker wonderShaper网卡限速内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文