Контейнеры Docker больше не разрешают веб-доступ - PullRequest
1 голос
/ 07 мая 2019

У меня очень странная проблема в моей локальной среде разработки. У меня есть пара Docker-контейнеров, которые работают в нескольких разных средах, но оба работают с Apache. Оба подключены к одной и той же мостовой сети, и у одного из них открыт порт 80, а у другого - порт 8010. Когда контейнеры работают, я могу подключиться с помощью telnet следующим образом:

telnet localhost 80

или

telnet localhost 8010

Тем не менее, из браузера ничего не происходит, и, в конце концов, это просто тайм-аут. В логах Docker содержится нечего показывать входящее соединение.

Из оболочки Docker-контейнеров я могу без проблем получить доступ к HTTP-серверу с помощью curl.

Я попытался удалить мостовую сеть и добавить ее снова, но это не помогло.

Я пытался отключить брандмауэр macOS, но это не помогает.

Если я остановлю Docker-контейнеры, а затем попробую указанную выше команду telnet, она выдаст сообщение об ошибке «Отказано в соединении», как и следовало ожидать, поэтому команда telnet определенно подключается к Docker-контейнеру.

Кроме того, эта установка работала нормально некоторое время до сегодняшнего дня.

Я заблудился относительно того, что попробовать дальше, и не нашел ничего похожего на Google.

Любые идеи о том, как решить эту проблему, будут с благодарностью приняты.

1 Ответ

1 голос
/ 08 мая 2019

Для решения этой проблемы я сделал:

docker-compose rm -f
docker images --no-trunc --format '{{.ID}}' | xargs docker rmi

, а затем перестроить изображения / контейнеры.

Будьте осторожны с вышесказанным, поскольку они являются деструктивными командами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...