![](/img/trans.png)
[英]Docker container fails to run, Error : python3: can't open file 'flask run --host=0.0.0.0': [Errno 2] No such file or directory
[英]having on running flask app on docker container : Error: python: can't open file '//run.py': [Errno 2] No such file or directory Docker Error
請參閱此鏈接以查看文件夾結構: https : //drive.google.com/file/d/1KceimcgGMN68Z0gDet2G6SzZIQUhkQ2G/view?usp=sharing
嗨,我在 docker 容器上運行我的燒瓶應用程序時遇到問題,請幫忙。 這是 Dockerfile 代碼:
from alpine:latest
RUN apk add --no-cache python3.9.7-dev \
&& apk add --no-cache py3-pip \
&& pip install --upgrade pip
WORKDIR /NewBackend
COPY . /NewBackend
RUN pip3 --no-cache-dir install -r requirements.txt
FROM python:3.9.7-slim
RUN apt-get update \
&& apt-get -y install libpq-dev gcc \
&& pip install psycopg2
EXPOSE 5000
#ENTRYPOINT ["python"]
CMD ["python","run.py"]
您正在將文件復制到 alpine 容器中,這不是最終圖像。 您的最終映像僅安裝了 libpq-dev、gcc 和 psycopg2。
每次使用 FROM 時,您都是從頭開始創建圖像,並且只公開最后一個。 使用多階段構建是為了避免構建對最終映像的依賴,您可以使用 COPY 從中復制文件。
我建議您嘗試以下 Dockerfile:
FROM python:3.9.7-slim
WORKDIR /NewBackend
COPY . /NewBackend
RUN pip3 --no-cache-dir install -r requirements.txt
RUN apt-get update \
&& apt-get -y install libpq-dev gcc \
&& pip install psycopg2
EXPOSE 5000
#ENTRYPOINT ["python"]
CMD ["python","run.py"]
如果您真的想使用多階段構建來避免圖像混亂,我建議您在此鏈接中檢查文件如何從中間容器移動到最終圖像: https : //docs.docker.com/develop /develop-images/multistage-build/#use-multi-stage-builds
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.