为什么在安装官方的Django docker镜像之后我不能`docker exec`?
我按照说明设置了正式的Django docker镜像,在这里find。 首先,我通过跑步为我的项目创build了一个脚手架
$ docker run -it --rm --user "$(id -u):$(id -g)" -v "$PWD":/usr/src/app -w /usr/src/app django django-admin.py startproject mysite2
然后,我按照创buildDockerfile的指示操作,构build完图像之后,我运行了Docker镜像
docker run --name some-django-app -p 8000:8000 -d my-django-app
它的工作!
所以就像默认的网页build议,我决定创build我的第一个应用程序
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
谷歌search后,这表明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"
- 在Ubuntu上实现Docker化的Django
- 在docker-compose运行命令后,Docker compose:命令
- docker-machine容器中缺less本地文件
- 为什么nginx在向链接的docker容器做`uwsgi_pass`时返回502?
- 将django docker容器链接到mysql docker容器
- 如何使用django与django?
- 如何在BitBucketpipe道上使用Docker来testing需要PostGIS的Django应用程序?
- 获取“无效的地址”错误上gunicorn绑定与我的服务器IP。 我在docker里试着这个
- 您正在通过HTTPS访问开发服务器,但仅在使用Docker时支持HTTP