使用Docker Compose设置Django/PostgreSQL项目的正确方法是什么?
您能告诉我使用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:
(使用最新版本的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
文件中指定它。非常感谢,这太完美了!非常简单和直接,正是我要找的!我很高兴这有帮助。不久前,我也遇到过同样的情况,我知道有一点帮助可以让你快速上路:)