[英]Running Django in docker-compose
我在docker容器中啟動django項目時遇到問題。 我的Dockerfile如下所示:
FROM python:2.7
ADD . /code
WORKDIR /code
RUN pip install -r requirements.txt
EXPOSE 8000
requirements.txt
包含成功安裝django的單行Django
。
我docker-compose.yml
具有以下內容:
version: '2'
services:
web:
build: ./web
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
volumes:
- ./web:/code
要創建一個我打電話的項目:
docker-compose run web python django-admin.py startproject web .
與以下消息崩潰:
python: can't open file 'django-admin.py': [Errno 2] No such file or directory
還有這個
docker-compose run web django-admin.py startproject web .
崩潰了
ERROR: Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"django-admin.py\": executable file not found in $PATH"
在我看來,執行這樣的容器時$PATH
中有一個錯誤。 當我使用交互模式-it
,我可以從此文件夾中調用django-admin
。 PATH
設置不正確還是我在這里做錯了什么? Dockerfile
位於web
目錄中。
編輯:在評論中提出建議后,我嘗試使用完整路徑運行django-admin
:
root@935ca5543589:/code# which django-admin
/usr/local/bin/django-admin
仍然沒有變化:
docker-compose run web /usr/local/bin/django-admin startproject web .
ERROR: Cannot start service web: oci runtime error: container_linux.go:247: starting container process caused "exec: \"/usr/local/bin/django-admin\": stat /usr/local/bin/django-admin: no such file or directory"
答案其實很簡單。 當我首先運行項目時,我的Dockerfile
出錯了。 更改Dockerfile
后, Dockerfile
docker-compose
沒有自動重建圖像,這是我假設的。 即使使用docker build
進行重建也無法解決這個問題。 只有在刪除整個圖像后,才會強制進行重建並給出正確的結果。
我跑了什么:
docker-compose run app djando-admin.py startproject app
輸出:
sh:djando-admin.py:找不到
解:
sudo docker-compose run app django-admin startproject app .
嘗試使用sudo
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.