我在启动docker容器内的django项目时遇到问题。我Dockerfile看起来如下:在docker-compose中运行Django
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
完整路径:
[email protected]:/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"
为什么不尝试使用'django-admin'的完整路径? –
感谢您的建议。仍然没有成功。但是,同样的行为,当我登录到容器上,它的工作原理... – Freddy
你是否试图执行'django-admin'或'django-admin.py'? – NZD