繁体   English   中英

Dockerfile入口点问题

[英]Dockerfile Entrypoint issue

我有以下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:exec用户进程导致“没有这样的文件或目录

很简单,我不知道我在做什么错。 另外,是否有比python:3.7-slim-buster更好的基础映像来构建轻量级的烧瓶映像?

  1. 如果bash不在路径中,则需要提供完整路径
  2. 如果要将命令传递给bash,语法为bash -c "my whole script" ,它将在docker中变为:
ENTRYPOINT ["/bin/bash", "-c", "my whole script"]
  1. 奖励:为什么不使用Gunicorn本身作为切入点? 为什么还要烦恼bash?

入口点应为:

ENTRYPOINT [ "gunicorn", "-b, "0.0.0.0:5000", "mainPage:app" ]

要么

ENTRYPOINT gunicorn -b 0.0.0.0:5000 mainPage:app

src: https//docs.docker.com/engine/reference/builder/#entrypoint

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM