【问题标题】:Docker traffic control (tc) - specified qdisc not foundDocker 流量控制 (tc) - 未找到指定的 qdisc
【发布时间】:2021-06-29 10:18:45
【问题描述】:

我正在寻找如何在 Docker Ubuntu 中运行 tc qdisc 命令的解决方案。

Ubuntu 的版本是 20.04 LTS,我在 Windows 上运行 Docker。这是我的docker-compose.yml的一部分:

fuseki_1:
        image: leroykim/jena-fuseki:ubuntu
        container_name: fuseki_1
        depends_on: 
            - fuseki-data_1
        ports:
            - "3031:3030"
        cap_add:
            - NET_ADMIN
        command: bash -c "apt-get update && apt-get -y install iproute2"
fuseki_2:
        image: leroykim/jena-fuseki:ubuntu
        container_name: fuseki_2
        depends_on: 
            - fuseki-data_2
        ports: 
            - "3032:3030"
fuseki_3:
        image: leroykim/jena-fuseki:ubuntu
        container_name: fuseki_3
        depends_on: 
            - fuseki-data_3
        ports: 
            - "3033:3030"

通过这个设置,我想给 fuseki_1 引入一些延迟、重复和损失,并在联合查询期间模拟真实世界的网络。

我要运行的命令是这样的:

sudo tc qdisc add dev eth0 root handle 1: prio
sudo tc qdisc add dev eth0 parent 1:1 handle 2: netem delay 100ms 5ms 25% loss 15.3% 25% duplicate 1% corrupt 0.1% reorder 5% 50%

问题是命令不断抛出Error: Specified qdisc not found. 错误。

我检查了几个堆栈溢出答案和网页。似乎他们顺利地运行了tc qdisc 命令,但没有一个对我有用:

非常感谢您提前提供的帮助!

【问题讨论】:

    标签: docker ubuntu docker-compose traffic-simulation


    【解决方案1】:

    我想通了。

    Windows WSL 2 后端是问题所在。我关闭了Settings > General > Use the WSL 2 based engine 选项,这些命令终于奏效了。

    为清楚起见,这些设置位于您的 Docker 实例中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-09
      • 2018-08-06
      • 2021-03-14
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多