如何让我的 Postgres 镜像创建多个数据库?例如,我想做这样的事情:
- image: circleci/postgres:9.6.7-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: db_test
POSTGRES_DB: db_special
有没有办法做到这一点?如果没有,我该如何着手创建与第一个数据库具有相同角色的第二个数据库?
最佳答案
免责声明:CircleCI 的开发者倡导者
我看到了三个选项。
- 自行扩展 PostgreSQL Docker 镜像,并让它默认创建您需要的额外数据库。
- 通过您的应用程序(应该只是一个 SQL 行)或使用 PostgreSQL CLI(您需要将其安装在容器中)即时创建其他数据库。
- 同时使用两个或多个 PostgreSQL 容器,每个数据库一个。然后您还需要更改其中之一的默认主机名。第一个位于
localhost
,第二个位于您设置的名称。
这是#3 的示例:
- image: circleci/my-main-image:latest
- image: circleci/postgres:9.6.7-alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: db_test
- image: circleci/postgres:9.6.7-alpine
name: pg2
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: db_special
关于postgresql - CircleCI 2.0 中的多个 Postgres 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50956650/