Docker-контейнер может получить доступ только с хоста, когда docker0 находится в беспорядочном режиме

Как название. Я могу получить доступ к своему док-контейнеру с хоста, только когда docker0 находится в беспорядочном режиме, даже если я остановил свой firewalld.service.

Я запускаю контейнер этой командойdocker run -p 9000:80 --name nginx --rm nginx.
И когда я пытаюсь подключиться к серверу:curl 127.0.0.1:9000, он возвращает: Ошибка Recv: сброс соединения одноранговым узлом

Но если я запустил tcpdump на docker0 вот так:
sudo tcpdump -i docker0
все работает как положено. После некоторого поиска я обнаружил, что команда tcpdump конвертирует интерфейс docker0 в неразборчивый режим.

моя хост-система: centos-release-7-7.1908.0.el7.centos.x86_64
Версия Docker: 19.03.8

1 ответ

Наконец-то я нашел решение! Получается плохой интерфейс. Мне нужно удалить интерфейс docker0 и перезапустить службу докеров. Тогда проблема просто исчезнет!

sudo ip link delete docker0
sudo systemctl restart docker.service
Другие вопросы по тегам