Контейнер docker может получить доступ только через хост, когда docker0 находится в случайном режиме - PullRequest
1 голос
/ 27 апреля 2020

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

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

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

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

1 Ответ

0 голосов
/ 28 апреля 2020

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

sudo ip link delete docker0
sudo systemctl restart docker.service
...