您能告诉我使用Docker Compose设置和配置Django / PostgreSQL项目的最佳方法是什么吗?
(具有所有内容的最新版本,python 3.4,django 1.8.1等)
最佳答案
您是否看过Docker网站上的示例?这是一个link准确地描述了这一点。
基本上,您需要两种服务,一种用于Django应用程序,另一种用于Postgres实例。您可能需要从当前文件夹中为Django应用程序构建Docker镜像,因此需要定义Dockerfile
:
# Dockerfile
FROM python:3.4-onbuild
这就是整个
Dockerfile
!使用神奇的-onbuild
镜像,文件会自动复制到容器中,并通过pip安装需求。有关更多信息,请阅读here。然后,您只需要定义
docker-compose.yml
文件:# docker-compose.yml
db:
image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
links:
- db
在这里,您已经定义了Postgres服务,该服务是根据最新的
postgres
图像构建的。然后,您已经定义了Django应用程序的服务,并从当前目录中构建了该服务,并公开了端口8000,以便您可以从链接到数据库容器的容器外部访问它(以便它们可以神奇地进行通信,而无需您进行任何特定的操作) -更多细节here),并使用您通常用于启动Django应用的经典命令启动了容器。另外,还定义了一个卷,以便将您正在编写的代码与容器内部的代码进行同步(这样,您无需在每次更改代码时都重新构建镜像)。与拥有最新的Django版本有关,您只需要在
requirements.txt
文件中指定它即可。
关于django - 用Docker Compose设置Django/PostgreSQL项目的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30288220/