2016-07-27 165 views
1

我按照說明設置了正式的Django docker鏡像,找到here。首先,我創建了我的項目一個支架,通過運行爲什麼在安裝官方的Django docker鏡像之後我不能`docker exec`?

$ 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是沒有安裝。但我很困惑;我以爲這個碼頭圖像應該與django一起發貨。我知道自開始頁面出現以來,django曾經使用過一次。

我認爲碼頭圖像的一點是,所以我不必在主系統上安裝Django。 docker exec在這種情況下應該如何使用?


Vagrantfile

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

Dockerfile

FROM django:onbuild 
+0

請分享您的容器 – Martin

+0

文檔說我的Dockerfile需要這條線在它的'Dockerfile': 從Django中:onbuild 。 這就是它的全部內容。 – kag

+0

@mgansler我已經添加了我的Vagrantfile如何將上面的django docker映像拉出來,如果相關的話。我的Dockerfile與單行程在我的django項目的根目錄下,在我的manage.py旁邊。 – kag

回答

0

你的工作目錄可能不會/folder/to/mysite/這樣的Django無法找到設置文件導入。

在你dockerfile,設置WORKDIR=/folder/to/mysite/,然後簡化運行命令:

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