Docker コンテナーでデータベースを実行する
Docker を使用すると、コンテナー内でデータベースをリモートサーバーであるかのように実行し、アプリケーションがデータベースとどのように連携するかをテストできます。
このチュートリアルでは、PostgreSQL サーバーを備えた Docker コンテナーを実行し、JetBrains Rider を使用して接続する方法を学びます。
PostgreSQL サーバーイメージをプルする
サービス ツールウィンドウで、Docker 接続を展開し、 イメージ ノードを選択します。
プルするイメージ フィールドで
postgresの入力を開始し、必要なイメージリポジトリを選択してください。 例えば、デフォルトのpostgres:latestイメージを取得するにはpostgresを選択してください。
Ctrl+Enter を押して、Docker がイメージを取得するまで待ちます。

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

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

閲覧 をクリックします。 開いた 環境変数 ダイアログで、
追加 をクリックし、
POSTGRES_HOST_AUTH_METHOD変数にtrustの値を追加します。
名前 フィールドおよび コンテナー名 フィールドで、構成(例:
PostgreSQL Container)やコンテナ(例:postgresql)のカスタム名を指定します。
変更を適用して、 実行 をクリックしてください。
JetBrains Rider は新しい Docker コンテナーを作成して起動します。 これは サービス ツールウィンドウの コンテナー ノードに表示されます。

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

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