Skip to main content
 首页 » 编程设计

python之Dockerfile 入口点问题

2025年05月04日22emanlee

我有以下 dockerfile 来创建 Python Flask 应用程序的图像:

FROM python:3.7-slim-buster 
COPY ./requirements.txt /appFlask/requirements.txt 
COPY . /appFlask 
 
WORKDIR /appFlask 
 
RUN pip install -r requirements.txt 
RUN pip install gunicorn 
 
EXPOSE 5000 
 
ENTRYPOINT [ "bash", "gunicorn -b 0.0.0.0:5000 mainPage:app" ] 

除了最后一步,它构建得很好,这给了我以下错误:

错误:standard_init_linux.go:207:执行用户进程导致“没有这样的文件或目录”

太简单了,我不知道我做错了什么。另外,有没有比 python:3.7-slim-buster 更好的基础镜像来构建轻量级的 flask 镜像?

请您参考如下方法:

  1. 如果 bash 不在路径中,您需要提供完整路径
  2. 如果你想向 bash 传递命令,语法是 bash -c "my whole script",在 docker 中将变成:
ENTRYPOINT ["/bin/bash", "-c", "my whole script"] 
  1. 奖励:为什么不使用 gunicorn 本身作为入口点?为什么要使用 bash?