1

postgres と Web アプリ (ゴースト) を含む docker-compose.yml があります。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 を拡張してこの機能を追加できることはわかっていますが、これら 2 つの懸念事項を分離したいと思います。だから私は2つの質問があります:

データベースを初期化するための好ましいパターンはありますか? postgres と Ghost の間で終了するコンテナーを実行することは可能ですか?

完全なリポジトリはここで見ることができます: https://github.com/devpaul/ghost-compose

4

0 に答える 0