【发布时间】: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 命令,但没有一个对我有用:
- Manipulating network traffic between containers in Docker in Docker environment without privileged mode?
- Apply NetEM WAN delay on a docker container interface
- Simulate network latency on specific port using tc
- Simulate high latency network using Docker containers and “tc” commands
- Getting advanced traffic shaping with tc and containers to work #33162
- Linux fedora tc qdisc gets “Error: Specified qdisc not found.”(无法安装 kernel-modules-extra 包)
非常感谢您提前提供的帮助!
【问题讨论】:
标签: docker ubuntu docker-compose traffic-simulation