#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