#docker #ubuntu-18.04
#docker #ubuntu-18.04
Вопрос:
Я годами использую контейнерную версию веб-приложения на своем ноутбуке для разработки. Обычно я делаю что-то вроде
docker run -it -d --rm -h app.localhost my-app
и, добавив app.localhost
в мой hosts
файл, перейдя ко http://app.localhost
всему, что работает. Вчера вышло обновление для docker, и я больше не могу этого делать. Запустив изображение с теми же параметрами командной строки и попытавшись подключиться к приложению, я получаю страницу с ошибкой браузера, и проверка журналов в контейнере показывает, что запрос вообще не поступил на веб-сервер. Запуск curl http://app.localhost
в терминале работает нормально, и я смог устранить проблему, изменив параметры командной строки на
docker run -it -d --rm -p 80:80 -h app.localhost my-app
т. е. явное отображение порта 80.
Кто-нибудь может объяснить, что пошло не так? И почему curl
и мой веб-браузер ведут себя по-другому?
Редактировать: чтобы уточнить: я имею в виду обновление пакетов docker для моей ОС (Ubuntu 18, если это имеет значение).
Комментарии:
1. Какой тип обновления? Вы изменили свой файл Dockerfile / compose?
2. обновления пакетов
apt
, я добавил это к вопросу.3. можете ли вы поделиться своим файлом Dockerfile, это странно, может быть, в ur dockerfile вы перестали показывать порт.
4. Итак, что вы помещаете в свой файл hosts? IP-адрес контейнера?
5. Файл Dockerfile никогда не менялся, и он явно не предоставляет порт 80. В файле hosts я указал IP-адрес контейнера.