Я ищу решение, как запустить команду tc qdisc
в Docker Ubuntu.
Версия Ubuntu — 20.04 LTS, и я запускаю Docker в Windows. Вот часть моего 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 в среде Docker без привилегий режим?
- Применить задержку NetEM WAN к интерфейсу контейнера Docker
- Имитация сетевой задержки на определенном порту с помощью tc
- Моделирование сети с высокой задержкой с использованием контейнеров Docker и команды «tc»
- Запуск расширенного формирования трафика с помощью TCP и контейнеров #33162
- Linux fedora tc qdisc получает сообщение "Ошибка: указанный qdisc не найден .” (не удалось установить пакет kernel-modules-extra)
Я очень ценю вашу помощь заранее!