使用Docker Composebuild立Django / PostgreSQL项目的正确方法是什么?

你能告诉我用Docker Composebuild立和configurationDjango / PostgreSQL项目的最佳方式是什么?

(最新版本的东西,python 3.4,django 1.8.1等)

你看过Docker网站上的例子吗? 这里有一个链接描述这个。

基本上,您需要两个服务,一个用于您的Django应用程序,一个用于您的Postgres实例。 您可能想要从当前文件夹为您的Django应用程序构build一个Docker镜像,因此您需要定义一个Dockerfile

 # Dockerfile FROM python:3.4-onbuild 

这是整个Dockerfile ! 使用magic -onbuild图像,文件将自动复制到容器中,并且需要使用pip进行安装。 欲了解更多信息,请阅读。

然后,你只需要定义你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镜像构build的。 然后,您已经定义了您的Django应用程序的服务,从当前目录构build它,公开8000端口,以便您可以从容器外部访问它,链接到数据库容器(以便它们可以神奇地进行通信, – 更多的细节在这里 ),并启动容器与您用来正常启动您的Django应用程序的经典命令。 此外,还定义了一个卷,以便将您正在编写的代码与来自容器内的代码同步(以便每次更改代码时都不需要重新构build图像)。

关于使用最新的Django版本,您只需在您的requirements.txt文件中指定它。