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