1

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

(使用最新版本的一切,python 3.4,django 1.8.1 等)

4

1 回答 1

3

你看过 Docker 网站上的例子吗?这是一个准确描述这一点的链接。

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

# Dockerfile
FROM python:3.4-onbuild

这就是全部Dockerfile!使用魔法-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图像构建的。然后,您已经定义了 Django 应用程序的服务,从当前目录构建它,公开端口 8000,以便您可以从容器外部访问它,链接到数据库容器(这样它们就可以神奇地进行通信,而无需您提供任何特定的东西- 更多细节在这里)并使用您通常用来启动 Django 应用程序的经典命令启动容器。此外,还定义了一个卷,以便将您正在编写的代码与容器内部的代码同步(这样您就无需在每次更改代码时都重新构建映像)。

与拥有最新的 Django 版本相关,您只需在requirements.txt文件中指定它。

于 2015-05-17T16:53:24.573 回答