Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Docker Compose设置Django/PostgreSQL项目的正确方法是什么?_Django_Docker_Docker Compose - Fatal编程技术网

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

使用Docker Compose设置Django/PostgreSQL项目的正确方法是什么?,django,docker,docker-compose,Django,Docker,Docker Compose,您能告诉我使用Docker Compose设置和配置Django/PostgreSQL项目的最佳方法是什么吗 (使用最新版本的everything,Python3.4,django 1.8.1等)您看过Docker网站上的示例了吗?这里有一个描述这个的例子 基本上,您需要两个服务,一个用于Django应用程序,另一个用于Postgres实例。您可能希望从当前文件夹为Django应用程序构建Docker映像,因此需要定义一个Dockerfile: # Dockerfile FROM python:

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


(使用最新版本的everything,Python3.4,django 1.8.1等)

您看过Docker网站上的示例了吗?这里有一个描述这个的例子

基本上,您需要两个服务,一个用于Django应用程序,另一个用于Postgres实例。您可能希望从当前文件夹为Django应用程序构建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
图像构建的。然后,您已经定义了Django应用程序的服务,从当前目录构建了它,公开了端口8000,这样您就可以从容器外部访问它,并链接到数据库容器(这样他们就可以神奇地进行通信,而无需您方的任何特定信息-更多详细信息)并使用通常用于启动Django应用程序的经典命令启动容器。此外,还定义了一个卷,以便将您正在编写的代码与容器中的代码同步(这样您就不必在每次更改代码时重新生成映像)


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

非常感谢,这太完美了!非常简单和直接,正是我要找的!我很高兴这有帮助。不久前,我也遇到过同样的情况,我知道有一点帮助可以让你快速上路:)