在线文档教程
Docker 17
撰写 | Compose

Django and PostgreSQL (Compose)

快速入门:撰写和Django

本快速入门指南演示了如何使用Docker Compose来设置和运行简单的Django / PostgreSQL应用程序。在开始之前,您需要安装Compose。

定义项目组件

对于这个项目,你需要创建一个Dockerfile,一个Python依赖关系文件和一个docker-compose.yml文件。(您可以使用此文件的扩展名.yml.yaml扩展名。)

  • 创建一个空的项目目录。您可以为该目录命名一些容易记忆的内容。该目录是应用程序映像的上下文。该目录应该只包含构建该映像的资源。

创建一个Django项目

在这一步中,您将通过构建上一过程中定义的构建上下文中的图像来创建Django初学者项目。

  • 切换到您的项目目录的根目录。

连接数据库

在本节中,您将为Django设置数据库连接。

  • 在您的项目目录中,编辑该composeexample/settings.py文件。

注意:

在某些平台(Windows 10)上,您可能需要编辑ALLOWED_HOSTS内部settings.py并将Docker主机名或IP地址添加到列表中。为了演示目的,您可以将该值设置为:

ALLOWED_HOSTS = '*'

请注意,这个值是不是对生产使用是安全的。有关更多信息,请参阅Django文档。

  • 列出运行的容器。在另一个终端窗口中,使用该docker ps命令列出正在运行的Docker进程。$ docker ps容器ID映像命令创建状态端口名称def85eff5f51 django_web“python3 manage.py ...”10分钟前上传9分钟0.0.0.0:8000->8000/tcp django_web_1 678ce61c79cc postgres“docker-entrypoint ...”20分钟前上升9分钟5432 / tcp django_db_1

- Stop the application by typing `Ctrl-C` in the same shell in where you started it: Gracefully stopping... (press Ctrl+C again to force) Killing test_web_1 ... done Killing test_db_1 ... done

- Or, for a more elegant shutdown, switch to a different shell, and run [docker-compose down](../reference/down/index) from the top level of your Django sample project directory. vmb at mymachine in ~/sandbox/django $ docker-compose down Stopping django_web_1 ... done Stopping django_db_1 ... done Removing django_web_1 ... done Removing django_web_run_1 ... done Removing django_db_1 ... done Removing network django_default

关闭应用程序后,您可以安全地删除Django项目目录(例如,rm -rf django)。