【发布时间】:2016-10-18 17:26:56
【问题描述】:
我正在运行here 所示的简单 Docker-compose 示例
这里是 Dockerfile:
FROM python:2.7
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:
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
depends_on:
- db
当我尝试使用 docker-compose 启动示例时,它给了我以下信息:
alex@universe:~/projects/testcompose$ docker-compose up
testcompose_db_1 is up-to-date
Recreating testcompose_web_1
Attaching to testcompose_db_1, testcompose_web_1
web_1 | python: can't open file 'manage.py': [Errno 2] No such file or directory
db_1 | The files belonging to this da...
可能教程不是最新的,所以如果你知道答案,请写在这里。
【问题讨论】:
-
您是否运行过此命令:
docker-compose run web django-admin.py startproject composeexample .与docker-compose.yml的文件夹内?它实际上会在 Docker Volume 中创建manage.py和所有与 Django 相关的文件。 -
是的,我做到了。实际上问题是运行这个命令后项目结构不正确。它创建了额外的 composeexample 文件夹,其中包含项目和 manage.py 文件。将所有文件向上移动一层后,一切都按预期工作。
标签: django docker-compose