gpt4 book ai didi

django - 为什么在安装了官方Django Docker镜像后为什么不能 `docker exec`?

转载 作者:行者123 更新时间:2023-12-02 20:20:58 25 4
gpt4 key购买 nike

我按照说明设置了官方Django docker镜像here。首先,通过运行

$ docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite2

然后,我按照说明创建Dockerfile,并在构建镜像之后,使用
docker run --name some-django-app -p 8000:8000 -d my-django-app

it worked!

因此,就像建议的默认页面一样,我决定使用
docker exec <docker container ID> bash -c "python /folder/to/mysite2/manage.py startapp polls"

但是后来我收到了错误信息
Traceback (most recent call last):
File "/folder/to/mysite2/manage.py", line 8, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

进行一些谷歌搜索后,这表明未安装django。但是我很困惑。我以为这个Docker镜像应该随Django一起提供。我知道django自从起始页出现以来就曾经使用过一次。

我认为Docker镜像的重点是这样,因此我不必在主系统上安装django。在这种情况下应如何使用 docker exec

Vagrantfile
config.vm.provision "docker" do |d|
d.pull_images "django"
end

Dockerfile
FROM django:onbuild

最佳答案

您的工作目录可能不是/folder/to/mysite/,因此django找不到要导入的设置文件。

在您的dockerfile中,设置WORKDIR=/folder/to/mysite/,然后将运行命令简化为:

docker exec -t <docker container ID> bash -c "python ./manage.py startapp polls"

关于django - 为什么在安装了官方Django Docker镜像后为什么不能 `docker exec`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38610937/

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