Docker-composeファイル内でPSQLコマンドを実行できるかどうか知りたいのですが。
次のdocker-compose.yml
があります。
version: '3'
services:
postgres:
image: postgres:9.6
container_name: postgres-container
ports:
- "5432:5432"
network_mode: Host
environment:
- LC_ALL=C.UTF-8
- POSTGRES_DB=databasename
- POSTGRES_USER=username
- POSTGRES_PASSWORD=
- POSTGRES_PORT=5432
そして、これが正常に実行された後、次のコマンドを実行します:docker exec -i postgres-container psql -U username -d databasename < data.sql
これらの2つのステップは正常に機能します。しかし、私は1つのステップを実行することが可能であるかどうか知りたいと思います。
このコマンドを実行するたびに。データベースが常に新しいことが重要です。これがvolume
に永続化せずにこのコマンドを実行したい理由です。
docker-compose up
を実行し、psql
コマンドを実行することはできますか?
前もって感謝します!
ボリュームを備えた純粋なdocker-composeソリューション
volumes:
- ./data.sql:/docker-entrypoint-initdb.d/init.sql
dockerfile によると、起動時にdocker-entrypoint-initdb.d
のすべてのSQLデータがダンプされます