我写了一个容器web应用程序并使用docker构建它,在它似乎正在运行之后,该应用程序无法通过在浏览器中键入链接访问,而只能通过本地访问链接访问。同一个容器应用推送到AWS时总是显示404 No Such Service
这里是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" ]
如果您包含您运行的命令和您观察到的输出,将会很有帮助。
我怀疑你没有在主机上发布容器的端口(可能是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