我有以下 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 镜像?
请您参考如下方法:
- 如果
bash不在路径中,您需要提供完整路径 - 如果你想向 bash 传递命令,语法是
bash -c "my whole script",在 docker 中将变成:
ENTRYPOINT ["/bin/bash", "-c", "my whole script"]
- 奖励:为什么不使用 gunicorn 本身作为入口点?为什么要使用 bash?
