使用Docker Compose设置Django / PostgreSQL项目的正确方法是什么?

时间:2015-05-17 14:59:19

标签: django docker docker-compose

您能告诉我使用Docker Compose设置和配置Django / PostgreSQL项目的最佳方法是什么?

(所有内容的最新版本,python 3.4,django 1.8.1等)

1 个答案:

答案 0 :(得分:3)

你看过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文件中指定它。