1

我有一个带有 postgres 的 docker-compose.yml 和一个网络应用程序(ghost)。我想在 postgres 和 ghost 之间运行一个容器来初始化 postgres,添加数据库和用户权限,然后退出。

我的数据库初始化代码如下所示:

ghostdb:
  extends:
    file: ./compose/ghost.yml
    service: ghostdb
  links:
    - postgres
  volumes:
    - ./ghost-db/volumes/sql:/sql

依次运行

#!/bin/bash
echo Importing SQL
until pg_isready -h postgres; do
    sleep 1
done

for f in /sql/*.sql; do
    echo Importing $f
    psql -h postgres -f $f
done

我知道我可以扩展 postgres 以添加此功能,但我宁愿将这两个问题分开。所以我有两个问题:

初始化数据库是否有更好的模式?是否可以运行在 postgres 和 ghost 之间退出的容器?

完整的存储库可以在这里查看:https ://github.com/devpaul/ghost-compose

4

0 回答 0