我不能从外面进入docker

2024-04-19 22:11:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须“dockerize”我正在编写的一个服务(一个小型烧瓶应用程序)。我写的是:

FROM python:3

RUN apt-get update && apt-get install -y build-essential

WORKDIR /app

COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt

COPY . /app

EXPOSE 5000

ENV FLASK_APP=app.py
ENV FLASK_DEBUG=1

CMD flask run

我可以构建映像并运行容器

docker run -p 5000:5000 <container-name>

烧瓶告诉我它在听127.0.0.1:5000。但我无法从主机访问应用程序。我也尝试过使用localhost和{}作为地址。但是,如果我exec进入容器,我可以curl接收我期望的响应的地址。在

有人知道这是怎么回事吗?在


Tags: installrunenvtxtapp应用程序flaskget
1条回答
网友
1楼 · 发布于 2024-04-19 22:11:34

EXPOSE指令实际上并不发布端口。您还必须告诉docker将连接转发到该端口。运行时,您将执行docker run -p 80:5000 my_docker_image,然后端口80上的入站流量将被转发到docker容器中的端口5000。或者,如果不想监听端口80,可以在docker映像中将端口5000转发到5000。在

相关问题 更多 >