Docker desktopをインストールしてローカル環境でpostgreSQLとKeycloakを立ち上げる!!バックエンド開発環境を構築する

はじめに

ローカルPCにDocker desktopをインストールして、

ローカル環境でpostgreSQLとkeycloakを立ち上げるまでの手順をまとめました。

認証認可サーバと連携が必要なAPIの開発をする際、

ローカル環境でも連携させる動作確認がしたい。

データベースを用意して、

ローカル環境で自由にテストデータを書き換えながらAPIの動作確認をしたい。

などのケースを想定した環境構築手順です。

 

Docker desktopをインストールしてローカル環境にpostgreSQLとKeycloakを立ち上げる

インストール手順はすでに色々まとめられているサイトはあるので、

 

まず、

>>docker desktopのインストーラをダウンロードして、

 

Macの方は以下参考に

>>MacにDocker Desktopをインストールして動かす

 

Windowsの方は以下参考に

>>WindowsにDocker Desktopをインストールして動かす

 

インストールしてみてください。

そこまで複雑な手順ではないので手順に従ってやればそこまでハマることはないはずです!!

インストールできたら、ターミナルやコマンドプロンプトで

 

docker version

 

と入力してバージョン情報が返ってくればインストール成功です。

 

docker-compose.ymlを簡単にみてみる

ついでにDocker上にpostgreSQL、Keycloakを立ち上げる際に、

必要となるdocker-compose.ymlの設定内容を簡単にみてみましょう。

 

その前に、

Docker上にpostgreSQLとKeycloakを立ち上げるための設定を入れたソースコードを

公開しているのでダウンロードしてください。

>>ソースコード(github)

 

それでは、

docker-compose.ymlを見ていきましょう!!

 

dockerを起動する際には、docker-compose.ymlが読み込まれて、

その設定の通りdocker上にいろんなサーバ(jboss/keycloak、postgreSQLとか)が立つ。

みたいなざっくりとそんなイメージでdocker-sompose.ymlを見て頂ければと思います。

まず、keycloakの設定を見ていきます。

>>該当箇所

ここで抑えておきたいのは、以下4点です。

 

  • ポート8180でjboss/keycloak(jbossというアプリケーションサーバの上にkeycloakミドルウェア)を立ち上げている。
  • keycloakのバージョンは15.0.2。
  • keycloakの管理者ユーザをadmin/adminで登録している。
  • >>sample-realm.jsonを読み込んでkeycloakを初期セットアップ済みの状態で立ち上げている。

 

次に、postgreSQLの設定を見ていきます。

>>該当箇所

 

ここで抑えておきたいのは、以下4点です。

 

  • ポート5432でpostgreSQLを立ち上げている。
  • postgreSQLのバージョンは14.1。
  • 管理者ユーザをroot/rootで登録している。
  • DBサービス名はsampledbで立ち上げている。

 

これだけ抑えられたら完璧です!!

最後に、

githubからダウンロードしたプロジェクト直下(docker-compose.yml)がある場所で

以下コマンドでサーバ立てておきましょう。

 

docker-compose up -d

 

ちなみに、dockerを落としてサーバを壊すのはこのコマンドです。

 

docker-compose down

 

こんな感じで、

ローカル環境にサーバを簡単に立てたり、壊したりすることができるようになりました!!

 

postgreSQLにDBeaverで繋いでみる

ここからはおまけ編です!!

ローカル環境で立てた直後のpostgreSQLに、

DBeaverというデータベースクライアントツールを使って

繋いでみるとこんな感じです。

 

 

DBeaverインストールする方はこちらからできます。(WindowsならA5M2も個人的にはオススメです)

>>Download(DBeaver)

 

Docker上に立ち上げたKeycloakに繋いでみる

これもおまけですが、、、

ローカル環境で立てたKeycloakに、

アクセスするとこんな感じでclientというkeycloakと連携するAPIが

利用するものが事前にセットアップできてたり、

ユーザが事前にkeycloakに登録できてたりします。

 

 

まとめ

ローカル環境にDocker desktopをインストールする。

さらにdocker上にpostgreSQLとKeycloakを構築する手順について解説しました。

 

他のサーバをローカルに立てるのも同じ流れでできますし、

簡単にサーバを壊して作り直してもできる(しかもパッとできて軽い)ので、

このように開発環境をセットアップする現場は結構多いと思います。

 

Docker desktopが条件付きで有償化されますが、、、

個人の勉強で利用するのは無償なのと、目的はバックエンド開発の勉強なので、

別に引き続きDocker desktopを利用してパッとローカル環境構築するだけなら問題ないでしょう。

 

2022/3/22追記

現場での開発を想定した

バックエンドのローカル開発環境構築まとめ記事を作ったので

良ければそちらを参考に環境構築してみてください!!

IntelliJ IDEA、docker desktop(postgreSQL、keycloak)、Flyway、DBeaverを利用したバックエンド開発環境構築

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください