Docker でデータベースのイメージを使った場合、データの永続化や初期SQLの投入などが必要となりますが、 公式イメージを使うと非常に簡単に設定することができます。
docker-compose.yml は以下のようになります。
./sql/postgres/initdb.d/ に入っているSQLが一度だけ自動実行されます。
version: '2' services: db: image: postgres:9.3 volumes: - db_data:/var/lib/postgresql/data - ./sql/postgres/initdb.d:/docker-entrypoint-initdb.d ports: - "5432:5432" environment: POSTGRES_PASSWORD: postgres POSTGRES_USER: postgres volumes: db_data: driver: local