Управление трафиком Docker (tc) — указанный qdisc не найден

Я ищу решение, как запустить команду 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, но у меня ни одна из них не сработала:

Я очень ценю вашу помощь заранее!


person c0mu51c4r7    schedule 29.06.2021    source источник


Ответы (1)


Я понял.

Проблема заключалась в серверной части Windows WSL 2. Я отключил опцию Settings > General > Use the WSL 2 based engine, и эти команды наконец-то заработали.

person c0mu51c4r7    schedule 30.06.2021