Docker не может получить доступ к приложению Python через браузерPython

Программы на Python
Anonymous
Docker не может получить доступ к приложению Python через браузер

Сообщение Anonymous »

У меня есть приложение Python со следующей структурой данных

Код: Выделить всё

├── Dockerfile
├── README.md
├── src
│   ├── __init__.py
│   └── api.py
├── poetry.lock
└── pyproject.toml
Я могу запустить приложение, запустив установку зависимостей и запустив python3 api.py или поэзию, запустив python api.py и получив доступ к приложению через http:/ /127.0.0.1:8000 в браузере.
Я написал файл докеров для приложения

Код: Выделить всё

FROM python:3.11-buster

RUN pip install poetry

COPY . .

RUN poetry install

EXPOSE 8011

CMD ["poetry", "run", "python", "-m", "src.api"]
и я могу создать изображение, используя

Код: Выделить всё

docker build -t my-python-app .
и я запускаю образ докера, используя

Код: Выделить всё

docker run -d -p 8000:8011 my-python-app
Однако я не могу получить доступ к приложению через браузер, если перейду на http://localhost:8011 или даже http://localhost:8000
Когда я запускаю docker ps, я вижу, что он работает

Код: Выделить всё

CONTAINER ID   IMAGE                          COMMAND                  CREATED         STATUS         PORTS                                NAMES
d274c066bd5e   my-python-app                  "poetry run python -…"   8 minutes ago   Up 8 minutes   0.0.0.0:8000->8011/tcp               bold_brahmagupta
Я проверил, не заняты ли мои порты 8011 или 8000, используя

Код: Выделить всё

netstat -tuln | grep 8000
и netstat -tuln | grep 8011
Что я делаю не так? Любая помощь будет оценена по достоинству. Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/781 ... ia-browser

Вернуться в «Python»