Контейнер запущен с пробросом порта, но сервис снаружи не отвечает
Сервис запущен так:
docker run -p 8000:8000 billing-api
В логах контейнера: Uvicorn running on http://127.0.0.1:8000. Запрос curl localhost:8000/health с машины разработчика обрывается. Что не так?
- Сервис слушает loopback контейнера, а трафик приходит на его сетевой интерфейс
- Флаг -p нужно писать в обратном порядке: контейнер, потом хост
- localhost хоста и 127.0.0.1 — разные адреса, надо обращаться по IP
- Порт 8000 занят на хосте, Docker молча выбрал другой
