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