我刚刚启动了一个示例 Django 应用程序。并使用 docker 来运行它。我的 docker 图像如下:
FROM python:3.5
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
我的 docker-compose.yml 文件:
version: '2'
services:
django:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
当我运行 docker-compose up 命令时,它构建成功但运行 命令失败:python manage.py runserver 0.0.0.0:8000,它提示 python: 无法打开文件 'manage.py': [Errno 2] 没有那个文件或目录。
这是 docker for windows 中的错误吗?因为我只是按照 docker 的文档 Quickstart: Docker Compose and Django
谢谢你的帮助!
请您参考如下方法:
我认为您错过了这一步:docker-compose run web django-admin.py startproject composeexample 。 或者您使用的目录对正在运行的虚拟机不可用 docker 。
如果从 Compose 文件中删除 volumes: .:/code 时它起作用,那么您就知道问题出在卷上。
我相信默认情况下只有用户主目录与 VM 共享,因此如果您在该树之外创建项目,您将无法访问卷中的文件。
