Ale*_*kov 5 django docker-compose
我正在运行此处所示的简单 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/
Run Code Online (Sandbox Code Playgroud)
这是 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
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 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...
Run Code Online (Sandbox Code Playgroud)
教程可能不是最新的,所以如果您知道答案,请写在这里。
是的,项目文件结构已正确生成。Django 总是有一个my-project-folder/my-site/my-site文件结构。
要使其与 docker-compose 一起使用,您只需将以下文件移至my-project-folder/my-site/
Dockerfile
docker-compose.yml
requirements.txt
Run Code Online (Sandbox Code Playgroud)
my-project-folder/my-site/已经包含manage.py文件(如果不是这种情况则有问题)
此时请确保my-project-folder/仅包含
my-site/文件夹而没有其他内容。
一旦一切设置正确,只需向上my-project-folder/my-site/my-site
执行命令,docker-compose up
它将构建所需的一切。执行命令docker-compose up就可以了。
不要忘记检查允许的主机并settings.py在需要时在文件中添加“0.0.0.0”。
就这样。