在基于Docker容器的架构中使用数据库服务器

我学习Docker和testing目的我在里面运行一个Django应用程序。 一切正常,正在运行。 但是现在我想在我的容器化架构中使用数据库( Postgres )。

我们知道,如果一个容器停止,所有的数据将被重置,因此,我不能把我的数据库在容器中,对不对? 我对此感到困惑。

我应该在容器之外运行数据库服务器吗? 那么容器内的应用程序应该如何与之交谈呢? 或者我必须在容器中运行数据库服务,并从外部源读取数据库转储文件?

我对build筑感到困惑! 容器只适用于应用程序,并不代码数据库服务器? 或者我可以使用容器内的数据库? 我喜欢容器的想法,我想做我的项目作为一个包到处运行…但是当即时通讯使用数据库服务器,这可能吗?

只要不破坏容器,数据就会一直存在。 你可能会想用docker-compose来编排容器/networking等。

因此,运行docker-compose stop会暂停容器,但是下次运行docker-compose up数据将会持续存在。 但是,如果你运行docker-compose down ,这将破坏卷和数据将会丢失。