Docker容器中的Django项目无法运行manage.py runserver

时间:2019-12-14 15:31:13

标签: python django python-3.x docker

我是Docker的新手,为将容器/图像/服务概念缠住了脑袋。我无法使用django映像启动容器。这是我的Docker文件:

FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN mkdir /django-ex
COPY /django-ex /django-ex
WORKDIR /django-ex
RUN pip install -r requirements.txt

'Build'工作正常,没有错误。但是“ up”失败并显示错误:

web_1  | python: can't open file '/django-ex/manage.py': [Errno 2] No such file or directory
maria-ra-staff_web_1 exited with code 2

这是我的docker-compose.yml:

version: '3.6'

services:
  db:
    image: postgres
  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes:
      - .:/django-ex
    ports:
      - "8000:8000"
    depends_on:
      - db

我不明白为什么“ up”没有我的项目文件。我在过程中错过了什么吗?

编辑:构建输出:

db uses an image, skipping
Building web
Step 1/6 : FROM python:3.6
 ---> 5bf410ee7bb2
 Step 2/6 : ENV PYTHONUNBUFFERED 1
  ---> Running in 2815482f2d9d
 Removing intermediate container 2815482f2d9d
  ---> a56843c06131
 Step 3/6 : RUN mkdir /django-ex
  ---> Running in 8c6a4a63c266
 Removing intermediate container 8c6a4a63c266
  ---> 8ffbdb670dbb
 Step 4/6 : COPY /django-ex /django-ex
  ---> c314f8e07aae
 Step 5/6 : WORKDIR /django-ex
  ---> Running in 15f0109d52cd
 Removing intermediate container 15f0109d52cd
  ---> 06b4e86e58f8
 Step 6/6 : RUN pip install -r requirements.txt
  ---> Running in eaa9782e1e9b
 {pip install output}
 Successfully installed django-1.11.26 django-debug-toolbar-1.8 gunicorn-19.4.5 psycopg2-2.7.3.1 pytz-2019.3 sqlparse-0.3.0 whitenoise-3.3.1
 Removing intermediate container eaa9782e1e9b
  ---> f22db286d5e3

1 个答案:

答案 0 :(得分:0)

我仍然不知道如何,但是将卷中的文件夹名称更改为'/ django-ex-2'很有帮助。现在构建和运行正常(我在Dockerfile中添加了“ migrate”)。谢谢。

P.S。我不会接受这个答案。也许有人会解释为什么有帮助。