DockerでPostgreSQLローカル環境構築

Dev/Environment
Docker
Docker Compose
PostgreSQL
Spring Boot

更新日時 : 2020/06/21 13:45
投稿日時 : 2020/06/21 13:38

何周遅れだという話題だけども、ローカル環境でPostgreSQLを動かしたくて、docker-compose.ymlを作成した。(Dockerのインストールは割愛)
なぜローカル環境で必要かというと、今までローカルのDBに関する動作確認はH2DBで実施していたが、PostgreSQL文法のSQLがH2DBで動作しなかったので、準備する必要があった。
ローカルインストールはバージョン管理などがめんどくさい、最近徐々にコンテナ周りの勉強をし出したので、Dockerで管理することにした。
DockerHubのPostgreSQLを参考に環境変数の設定を行う必要がある。ポート番号やDB名、ユーザ、パスワードをapplication.propertiesの設定と合わせて、動作確認できた。
もう少しDockerやKubernetesといったコンテナ周辺技術の勉強頑張ろう。


docker-compose.yml

version: '3.2'
services:
    db:
        image: postgres:latest
        container_name: sb_db
        restart: always
        ports:
            - 5432:5432
        environment:
            POSTGRES_DB : 'sb_db'
            POSTGRES_USER: 'local' # DBのユーザー名(=DB名)
            POSTGRES_PASSWORD: 'pass' # DBのパスワード

`application.properties`
spring.datasource.url=jdbc:postgresql://localhost:5432/sb_db
spring.datasource.username=local
spring.datasource.password=pass
spring.datasource.driver-class-name=org.postgresql.Driver


基本的なコマンドだけど、メモ残しておく。docker-compose.ymlがあるディレクトリで下記コマンド実行でコンテナの登録と起動が始まる。

$ docker-compose up -d