今日はDjangoで使うPostgres SQLサーバーを docker-composeで立ち上げます。Djangoでスムーズに使うために、初期DBの構築も同時に行います。
コンフィグファイル類の作成
最初に今回のフォルダ構成は以下のようになっています。
django # docker-compose.ymlが配置 |-db |-init |-data
docker-composeファイルの作成
$vi docker-compose.yml version: "2" services: postgres: image: postgres restart: always ports: - "5432:5432" environment: POSTGRES_USER: root POSTGRES_PASSWORD: password hostname: postgres user: root volumes: - ./db/pgsql/init:/docker-entrypoint-initdb.d - ./db/pgsql/data:/var/lib/postgresql/data
可能な限りシンプルなymlとしていますが、volumesの部分で、データの永続化のため、/db/pgsql/dataを設定 また、初期のDB構築の為に、/db/pgsq/initを設定 init配下には以下に記載のsqlファイルを配置しておくことで、初期DBの構築が行われるので、先にファイルを作っておきます。
$vi ./db/pgsql/init/1_createdb.sql create database dj01; create database dj02; create database dj03; create database dj04; create database dj05; create database dj06; create database dj07; create database dj08;
作成したら以下のコマンドで立ち上がります。
$docker-compose up -d postgres
非常に簡単でした。次回はこのDBを使ってDjangoの立上げを行います。