簡體   English   中英

在docker容器上運行flask應用程序:錯誤:python:無法打開文件'//run.py':[Errno 2]沒有這樣的文件或目錄Docker錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM