gpt4 book ai didi

python - Docker 在卷中运行应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 20:13:18 24 4
gpt4 key购买 nike

在我的 django docker 应用程序中,我将使用一个卷来管理我的应用程序文件,这是我的 Dockerfile:

FROM python:3.6-alpine
EXPOSE 8000
RUN apk update
RUN apk add --no-cache make linux-headers libffi-dev jpeg-dev zlib-dev
RUN apk add postgresql-dev gcc python3-dev musl-dev

VOLUME /var/lib/cathstudio/data
WORKDIR /var/lib/cathstudio/data

COPY ./requirements.txt .

RUN pip install --upgrade pip
RUN pip install -t /var/lib/cathstudio/data -r requirements.txt
ENV PYTHONUNBUFFERED 1
ENV PYTHONPATH /var/lib/cathstudio/data

COPY . /var/lib/cathstudio/data

ENTRYPOINT python /var/lib/cathstudio/data/manage.py runserver 0.0.0.0:8000

但是当我运行我的应用程序时:

docker run -d -it --rm --link postgres:postgres --name=cathstudio myrepo/app_studio:latest

我明白了

python: can't open file '/var/lib/cathstudio/data/manage.py': [Errno 2] No such file or directory

如果我在 Dockerfile 中只写 ENTRYPOINT python manage.py runserver 0.0.0.0:8000

我的文件哪里错了?如何使用存储应用程序文件的卷来运行我的应用程序?

提前非常感谢

最佳答案

您可以尝试使用 -v 标志而不是在 dockerfile 中使用 VOLUME 吗?我不确定为什么,但 VOLUME 创建确切的空卷而不是与所有数据一起安装:

从 docker 文件中删除 VOLUME 部分并尝试以下操作

docker run -d -it --rm -v /var/lib/cathstudio/data/:/var/lib/cathstudio/data --link postgres:postgres --name=cathstudio myrepo/app_studio:latest

关于python - Docker 在卷中运行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58602131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com