gpt4 book ai didi

django - Dockerfile 运行 python 命令不起作用

转载 作者:行者123 更新时间:2023-12-02 18:00:17 24 4
gpt4 key购买 nike

我有一个这样的 dockerfile:

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
ADD reports /code/
RUN pip install -r requirements.txt
ADD . /code/
RUN ls -l /code/reports/report/manage.py # gives expected result
RUN ls -l /code/reports/build_static/ # gives expected result
RUN python /code/reports/report/manage.py build full_report.views.RenderView # does not work

除了 最后一个命令 通过 manage.py build 运行 python 包(django-bakery)外,一切正常。我没有收到任何错误。

此命令应该输出容器中 build_static 目录中的一些文件。

如果我 ssh 进入容器并手动运行命令,那么它正在工作 。我用 /code/ 插入了完整路径,以确保它们匹配并事先创建了所有必要的目录。

这就是我构建容器的方式:
docker-compose run django /bin/bash

这是我的 docker-compose:
version: '3'

services:
django:
build: .
volumes:
- .:/code
ports:
- "8000:8000"

我想知道当我通过容器内的 bash 手动运行命令但不使用 dockerfile 中的命令时,它是如何工作的。

谢谢!

更新(似乎文件已创建,但如果我检查它们,它们就不存在):
Step 12/12 : RUN ls -l /code/reports/build_static/
---> Running in e294563d26d5
total 11080
-rw-r--r-- 1 root root 11339956 Apr 30 10:53 index.html
drwxr-xr-x 7 root root 4096 Apr 30 10:53 static
Removing intermediate container e294563d26d5
---> b8e72da8ee5c
Successfully built b8e72da8ee5c
Successfully tagged image_django:latest
WARNING: Image for service django was built because it did not already exist. To rebuild this image you must use `docker-compose build` or `docker-compose up --build`.
root@7483853ecc45:/code# ls -l reports/build_static/
total 0

最佳答案

尝试以下步骤并让我知道输出:

FROM python:3
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
ADD reports /code/
RUN pip install -r requirements.txt
ADD . /code/
RUN ls -l /code/reports/report/manage.py # gives expected result
RUN ls -l /code/reports/build_static/ # gives expected result
RUN python /code/reports/report/manage.py build full_report.views.RenderView
RUN ls -l /code/reports/build_static/ # should give you expected list of files

给我最后一步的输出。
我会根据输出帮助你。

关于django - Dockerfile 运行 python 命令不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50098125/

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