【发布时间】:2017-10-10 13:38:04
【问题描述】:
我有一个项目,由两个使用八个 Postgres 数据库的主要 Java 应用程序组成,那么 docker-compose 有没有办法构建八个不同的数据库,以便每个数据库都有不同的所有者和密码?我什至可以在 docker-compose 中这样做吗?
例子:
services:
postgresql:
build: db/.
ports:
- "5432:5432"
environment:
- POSTGRES_DB=database1
- POSTGRES_USER=database1
- POSTGRES_PASSWORD=database1
我知道我可以将所有 .sql 文件放在 docker-entrypoint-initdb.d 中,Postgres 会自动生成它们,但是我如何声明哪个 .sql 文件放在哪个数据库中?
【问题讨论】:
-
向上或向外扩展。另一种选择是拥有多个 postgres 容器。适合我的每个应用程序架构一个 db,并且可能少于 8 个 dbs 的 2 个应用程序。但对其他人来说,这是值得考虑的。然后,您不必考虑任何笨拙的解决方法,并且拥有更多独立的数据库,您可以更轻松地进行上下移动。虽然它需要更多的资源。
标签: postgresql docker docker-compose