実現したいこと
- docker-composeで起動時にPostgreSQLを初期化する.shを動かしたい
前提
下記の docker-compose.yaml
で起動はできるのですが、PostgreSQLが起動するより早く /docker-entrypoint-initdb.d
の.shが読み込まれてしまい初期化できません。
yaml
1version: '3.1' 2 3services: 4 pg: 5 container_name: docker-postgres 6 image: postgres 7 restart: always 8 environment: 9 POSTGRES_USER: postgres 10 POSTGRES_PASSWORD: postgres 11 volumes: 12 - "postgres_data:/var/lib/postgresql/data" 13 - "./init:/docker-entrypoint-initdb.d" 14 ports: 15 - "5432:5432" 16 tty: 17 true 18 19volumes: 20 postgres_data:
docker volumeなどを削除したり、entrypoint
やcommand
のオプションも試しましたが総じてPostgreSQLより早く起動してしまいます。
いいPostgreSQLの初期化方法はありませんか?
補足情報(FW/ツールのバージョンなど)
Docker version 23.0.3, build 3e7cbfd

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。