You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker构建镜像时因启动Flask服务器卡住,如何解决?

问题根源

Dockerfile最后一行用RUN指令启动Flask服务是错误的。RUN是镜像构建阶段执行的一次性命令,执行后会生成镜像层;但Flask服务启动后会持续运行,导致构建过程被永久阻塞,无法完成镜像创建。

解决步骤

将最后一行的RUN替换为CMD指令——CMD是容器启动时触发的命令,不会干扰镜像构建流程。同时建议添加--host=0.0.0.0参数,避免容器内部服务仅绑定127.0.0.1导致外部无法访问。

修改后的Dockerfile:

FROM python:3
WORKDIR /usr/src/app
COPY albums ./albums
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 5000
CMD ["flask", "--app", "albums", "run", "--host=0.0.0.0"]
验证操作
  1. 重新构建镜像:
docker build -t albums .
  1. 构建完成后启动容器:
docker run -p 5000:5000 albums

此时Flask服务会在容器启动后正常运行,外部可通过http://localhost:5000访问。

内容的提问来源于stack exchange,提问作者David Pham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:23:16