Introduction

OSSで開発中のASP.NET Coreアプリ用にデータベースを用意しようと思ったが、初期化をアプリ側でやる場合、コンテナ起動時の初期化が無駄になると考えた際のメモ。

How to do?

下記の方が教えてくれました。

とは言っても、起動時にエラーが出るから、ググってみたら、ここにたどり着いただけで、恐らく、私の目的のように初期化を遅延することが目的ではないと思います。

初期化を遅延したいなら、初期化スクリプトをマウントしなければよいだけなので。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: "3"

services:
appdb:
image: postgres:10
container_name: "db"
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- PGDATA=/var/lib/postgresql/data/pgdata
ports:
- 5432:5432
volumes:
- ./database:/var/lib/postgresql/data
- ./logs:/var/log

PGDATA が肝。