【问题标题】:Running Django in docker-compose在 docker-compose 中运行 Django
【发布时间】:2017-02-13 03:21:59
【问题描述】:

我在 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-adminPATH 设置不正确还是我在这里做错了什么? 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"

【问题讨论】:

  • 你为什么不尝试使用django-admin的完整路径?
  • 感谢您的建议。仍然没有成功。但是同样的行为,当我登录到容器时,它可以工作......
  • 你是要执行django-admin还是django-admin.py
  • 是的。一样。现在两种方式都有效。请看我的回答。

标签: python django docker docker-compose


【解决方案1】:

其实答案很简单。当我第一次运行项目时,我的Dockerfile 出现错误。更改Dockerfile 后,docker-compose 并没有像我假设的那样自动重建图像。即使用docker build 重建也没有解决这个问题。只有在删除整个图像后,才强制重建并给了我正确的结果。

【讨论】:

  • 为什么投反对票?这清楚地解决了我的问题,我描述了如何做到这一点。
  • idk,它帮助了我。
【解决方案2】:

我跑了什么:

docker-compose run app djando-admin.py startproject app

输出:

sh: djando-admin.py: 未找到

解决方案:

sudo docker-compose run app django-admin startproject app .

尝试使用sudo

【讨论】:

  • 供未来读者参考~> docker-compose run django django-admin startproject core .
猜你喜欢
  • 1970-01-01
  • 2019-04-21
  • 2020-04-22
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 2019-06-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多