Docker コンテナーでデータベースを実行する
Docker を使用して、データベースをリモートサーバーであるかのようにコンテナーで実行し、アプリケーションがデータベースとどのように相互作用するかをテストできます。このチュートリアルでは、PostgreSQL サーバーで Docker コンテナーを実行し、JetBrains Rider を使用してそれに接続する方法について説明します。
データベース管理機能については、「データベースツールおよび SQL」を参照してください。
PostgreSQL サーバーイメージをプルする
サービスツールウィンドウで、Docker 接続を展開し、イメージノードを選択します。
プルするイメージフィールドで、
postgres
の入力を開始し、必要なイメージリポジトリを選択します。例:postgres
を選択して、デフォルトのpostgres:latest
イメージをプルします。Ctrl+Enter を押して、Docker がイメージをプルするまで待ちます。
PostgreSQL サーバーイメージからコンテナーを実行する
イメージノードを展開し、PostgreSQL サーバーイメージを選択して、 コンテナーの作成をクリックします。
Docker 構成の作成ダイアログで、次の操作を行います。
オプションを変更をクリックし、公開されているすべてのポートをランダムに公開を選択して、公開されているすべてのコンテナーポートをホストインターフェースに公開します。もちろん、より安全な設定を行うには、特定のポートバインディングを定義する必要があります。ただし、このチュートリアルでは、ローカルマシンが十分に安全であり、重要なものは何もないことを前提としています。
オプションを変更をクリックし、環境変数を選択して、PostgreSQL サーバーの認証設定を定義する環境変数を構成します。このチュートリアルでは、信頼認証(英語)を使用できます。これにより、PostgreSQL サーバーに接続できる人は誰でも、任意のユーザー名でデータベースにアクセスできるようになることに注意してください。「環境変数」フィールドで、「 」をクリックし、値
trust
を持つPOSTGRES_HOST_AUTH_METHOD
変数を追加します。
オプションで、構成とコンテナーのカスタム名を指定できます。
PostgreSQL サーバーに接続する
Docker は、コンテナー内のデフォルトの PostgreSQL サーバーポート 5432 を、エフェメラルポート範囲(通常は 32768 から 61000)内のホストポートに自動的にマップします。このチュートリアルでは、ポート 32768 が使用されていることを前提としています。実際のマッピングが何であるかを確認するには、コンテナーノードのサービスツールウィンドウで PostgreSQL コンテナーを右クリックし、インスペクションをクリックして、インスペクション出力で HostPort
フィールドの値を見つけます。
データベースツールウィンドウを開きます ( )。
をクリックし、
を選択します。ホスト名を
localhost
に、ポート番号を32768
(またはマップされたホストポート)に、デフォルトのデータベースとユーザーをpostgres
に設定します。trust
認証を使用して PostgreSQL サーバーを実行したため、パスワードは必要ありません。必要に応じて、ドライバをダウンロードして接続をテストします。
OK をクリックして、PostgreSQL サーバーをデータソースとして追加します。
JetBrains Rider でのデータベースソースの操作の詳細については、「データベースツールおよび SQL」を参照してください。
関連ページ:
Docker
Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。JetBrains Rider は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker プラグインを有効に...
データベースツールおよび SQL
データベースツールと SQL プラグインを有効にするこの機能は、JetBrains Rider にバンドルされており、デフォルトで有効になっているデータベースツールと SQL プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、データベースツールおよび SQL プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。JetBrains Rider のデータベ...
Docker Compose
Docker Compose は、マルチコンテナーアプリケーションを実行するために使用されます。例: Web サーバー、バックエンドデータベース、アプリケーションコードを個別のサービスとして実行できます。各サービスは、必要に応じてコンテナーを追加することで拡張できます。これにより、本番環境と同様に、動的な環境で効率的な開発とテストを実行できます。Docker プラグインを有効にするこの機能は、デフォルトで JetBrains Rider にバンドルされて有効になっている Docker プラグインに依存...