請參閱此鏈接以查看檔案夾結構: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"]
uj5u.com熱心網友回復:
您正在將檔案復制到 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/339944.html
