Контейнерное приложение не может подключиться из веб-браузера

#amazon-web-services #docker #amazon-lightsail

Вопрос:

Я написал контейнерное веб-приложение и создал его с помощью docker, после того, как оно, по-видимому, запущено, приложение недоступно, если ввести ссылку в браузере, но доступно только по ссылке локального доступа. Одно и то же приложение-контейнер всегда показывает 404 Без такой службы при отправке в AWS

вот файл dockerfile

 FROM python:3.8-alpine  EXPOSE 2328  WORKDIR /app  COPY requirements.txt .  RUN pip install -r requirements.txt  COPY main.py /app COPY Templates /app/templates COPY blockSchedule.txt /app COPY blockSchedule.txt /app  CMD [ "python", "./main.py", "production" ]   

Ответ №1:

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

Я подозреваю, что вы не публикуете порт контейнера (возможно, 2328) на хосте.

Если в контейнере есть сервер Python и он работает на 2328, вы можете использовать следующую команду для публикации (пересылки) порта на хост:

 docker run  --interactive --tty --rm  --publish=2328:2328  your-container-image:tag  

ПРИМЕЧАНИЕ your-container: tag замените имя и тег изображения вашего контейнера.

ОБРАТИТЕ --publish ВНИМАНИЕ, что флаг имеет следующий синтаксис [HOST-PORT]:[CONTAINER-PORT] . Порт контейнера обычно фиксируется портом, используемым контейнером, но вы можете использовать любой доступный порт хоста.

Используя приведенную выше команду, вы должны иметь возможность, например, просматривать контейнер с хоста, например, с помощью localhost: 2328