Docker コンテナーでデータベースを実行する
Docker を使用して、データベースをリモートサーバーであるかのようにコンテナーで実行し、アプリケーションがデータベースとどのように相互作用するかをテストできます。
このチュートリアルでは、PostgreSQL サーバーを搭載した Docker コンテナーを実行し、IntelliJ IDEA を使用して接続する方法を学習します。
PostgreSQL サーバーイメージをプルする
サービス ツールウィンドウで、Docker 接続を展開し、 イメージ ノードを選択します。
プルするイメージ フィールドで、
postgresの入力を開始し、必要なイメージリポジトリを選択します。 例:postgresを選択して、デフォルトのpostgres:latestイメージをプルします。
Ctrl+Enter を押して、Docker がイメージをプルするまで待ちます。

PostgreSQL サーバーイメージからコンテナーを実行する
イメージ ノードを展開し、PostgreSQL サーバーイメージを選択して、
コンテナーの作成 をクリックします。

Docker 構成の作成 ダイアログで オプションを変更(M) をクリックし、 公開されているすべてのポートをランダムに公開 を選択して公開されているすべてのコンテナーポートをホストインターフェースに公開します。
オプションを変更(M) をクリックして 環境変数 を選択します。 表示される 環境変数 フィールドで、PostgreSQL 認証用の環境変数を設定できます。

参照 をクリックします。 表示される 環境変数 ダイアログで、
追加 をクリックし、値
trustを持つPOSTGRES_HOST_AUTH_METHOD変数を追加します。
名前 フィールドと コンテナー名 フィールドで、構成(例:
PostgreSQL Container)およびコンテナー(例:postgresql)のカスタム名を指定します。
変更を適用して 実行 をクリックします。
IntelliJ IDEA が新しい Docker コンテナーを作成して開始します。 サービス ツールウィンドウの コンテナー ノードの下に表示されます。

PostgreSQL サーバーに接続する
Docker は、コンテナー内のデフォルトの PostgreSQL サーバーポート 5432 を、 エフェメラルポート範囲 (通常は 32768 から 61000)内のホストポートに自動的にマップします。 このチュートリアルでは、ポート 55000 を例として使用します。
データベース ツールウィンドウを開きます ()。
新規 をクリックし、 を選択します。
ホスト名を
localhostに、ポート番号を55000(またはマップされたホストポート)に、デフォルトのデータベースとユーザーをpostgresに設定します。trust認証を使用して PostgreSQL サーバーを実行したため、パスワードは必要ありません。必要に応じて、 ドライバをダウンロードして接続をテストします。

OK をクリックして、PostgreSQL サーバーをデータソースとして追加します。
作成されたデータソースは データベース ツールウィンドウに表示されます。 接続ツリーを展開すると、Docker で動作している PostgreSQL サーバーのデータベースオブジェクトを表示できます。 PostgreSQL データベース接続プロセスと利用可能なオプションの詳細については、 PostgreSQL データベースに接続する を参照してください。
要約
このチュートリアルでは、次の内容を学習しました。
Dockerイメージのプルと管理
DBMS(PostgreSQL など)イメージからコンテナーを構成・実行
IntelliJ IDEA とコンテナー内で動作するデータベースとの接続を確立