Docker
Docker(英語) は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。
JetBrains Rider は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。
Docker プラグインを有効にする
この機能は、デフォルトで JetBrains Rider にバンドルされて有効になっている Docker(英語) プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。
Ctrl+Alt+S を押して設定を開き、
を選択します。インストール済みタブを開き、Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。
Docker をインストールして実行する
Docker のドキュメント(英語)の説明に従って、Docker をインストールして実行します。
Docker デーモンに接続する
Ctrl+Alt+S を押して設定を開き、
を選択します。をクリックして Docker 構成を追加し、Docker デーモンへの接続方法を指定します。
接続設定は、Docker のバージョンとオペレーティングシステムによって異なります。詳細については、Docker 接続設定を参照してください。
ダイアログの下部に接続完了メッセージが表示されます。
Windows または macOS で Docker を使用する場合に、Docker デーモンを実行している仮想マシンにローカルパスをマッピングする方法の詳細については、「Windows および macOS ホストの仮想マシンパスマッピング」を参照してください。マッピングされたローカルパスの外にあるディレクトリに対してボリュームを使用したり、マウントをバインドしたりすることはできません。
このテーブルは、Docker がネイティブに実行され、コンテナーに任意のディレクトリをマウントできる Linux ホストでは使用できません。
サービスツールウィンドウ ( または Alt+8) を開き、構成済みの Docker 接続ノード
を選択して
をクリックするか、コンテキストメニューから接続を選択します。
Docker 接続設定を編集するには、Docker ノードを選択してツールバーの
をクリックするか、コンテキストメニューから構成の編集を選択します。
をクリックして Docker 接続を選択し、サービスツールウィンドウから直接 Docker 接続を追加することもできます。Docker コンテキスト(英語)が構成されている場合は、Docker コンテキストからの Docker 接続を選択して、対応する接続を追加できます。
Docker デーモンに接続すると、サービスツールウィンドウ ( または Alt+8) を使用して、イメージのプルとプッシュ、コンテナーの作成と実行、Docker Compose サービスのスケーリングなど、Docker に関連するすべてを管理できます。他のツールウィンドウと同様に、イメージまたはコンテナーの名前の入力を開始して、一致するアイテムをハイライトできます。
![Docker ツールウィンドウ、テキスト検索 The Docker tool window, text search](https://resources.jetbrains.com/help/img/rider/2024.1/55_DockerFindImage.png)
詳細については、サービスツールウィンドウの Docker に関するセクションを参照してください。
リモートサーバーで Docker を操作する
前提条件
リモートマシンで Docker の使用を開始する前に、次の前提条件が満たされていることを確認してください。
リモート Docker インスタンスに接続するために必要なローカル Docker CLI。Docker Desktop または Docker CLI のいずれかをインストールできます。
Docker ビルド x(英語) プラグインは、Dockerfile からイメージをビルドするために必要なプラグインです。Docker で Buildx を使用するには、Docker エンジンバージョン 19.03 以降が必要であることに注意してください。
SSH 接続を使用してリモートプロジェクトに接続したとします。次に、devcontainer.json
を追加し、リモートマシン上の Dev Container とマウントソースを作成するを介して開発コンテナーを作成しようとしました。
現在、このようなシナリオはサポートされておらず、実行中のバックエンドクライアント接続から開発コンテナーを作成することはできません。リモートプロジェクトに対応するガターオプションがある場合は、対応する問題(英語)に投票またはコメントを追加してください。
回避策として次の手順を実行してください。
リモートマシンに開発コンテナーを作成する
SSH への Docker 接続を作成します。
Docker CLI をローカルにインストールします。Windows では、Docker デスクトップなしでインストールできます。Docker デーモンは必要なく、Docker CLI のみが必要です。
SSH マシンからのすべての変更を Git にコミットします。
ウェルカム画面で
git clone
コマンドを使用して、JetBrains Gateway 経由で開発コンテナーを作成します。
関連ページ:
![](https://resources.jetbrains.com/help/img/rider/2024.1/docker_path_mappings_for_vm.png)
Docker 接続設定
JetBrains Rider から Docker エンジン API にアクセスするための設定を指定します。Docker と JetBrains Rider の統合の使用方法の詳細については、「Docker」を参照してください。Docker プラグインを有効にするこの機能は、デフォルトで JetBrains Rider にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、...
![](https://resources.jetbrains.com/help/img/rider/2024.1/add_new_docker_registry_dialog.png)
Docker イメージ
Docker イメージは、コンテナーを実行するための実行可能パッケージです。Docker はレジストリを使用してイメージを配布します。デフォルトでは、JetBrains Rider は Docker Hub を使用します。これは、さまざまな Linux フレーバー、データベース管理システム、Web サーバー、ランタイム環境など、最も一般的なイメージがすべて含まれるパブリックレジストリです。他にもパブリックおよびプライベートの Docker レジストリがあり、独自のレジストリサーバーをデプロイすること...
![](https://resources.jetbrains.com/help/img/rider/2024.1/62_DockerCreateContainer.png)
Docker コンテナー
Docker コンテナーは、対応するイメージのランタイムインスタンスです。JetBrains Rider は、Docker 実行構成を使用して、Docker イメージをビルドし、コンテナーを実行するコマンドを実行します。Docker プラグインを有効にするこの機能は、デフォルトで JetBrains Rider にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択し...
![](https://resources.jetbrains.com/help/img/rider/2024.1/96_DockerComposeScaleService.png)
Docker Compose
Docker Compose は、マルチコンテナーアプリケーションを実行するために使用されます。例: Web サーバー、バックエンドデータベース、アプリケーションコードを個別のサービスとして実行できます。各サービスは、必要に応じてコンテナーを追加することで拡張できます。これにより、本番環境と同様に、動的な環境で効率的な開発とテストを実行できます。Docker プラグインを有効にするこの機能は、デフォルトで JetBrains Rider にバンドルされて有効になっている Docker プラグインに依存...
![](https://resources.jetbrains.com/help/img/rider/2024.1/services-add-rc.png)
サービスウィンドウ
サービスツールウィンドウを使用すると、実行 / デバッグ構成、アプリケーションサーバー、データベースセッション、Docker 接続など、ソフトウェア開発中に役立つさまざまなサービスを管理できます。プラグイン開発者は、IntelliJ プラットフォーム API を通じて他のサービスを追加できます。メインツールバーには、すべてのサービスタイプに共通の次のボタンとメニューが含まれています。すべて展開リスト内のすべての項目を展開します。すべて折りたたむリスト内のすべての項目を折りたたみます。グループ化サ...
![](https://pleiades.io/icons/rider.png)
Dev Containers に関する FAQ
開発コンテナーを作成した後、Docker にさまざまなボリュームとプロパティが表示されます: それぞれは何をするのでしょうか? :開発コンテナーが作成されると、次のボリュームとプロパティが Docker に表示されます。これは、フォルダー内のすべてのバックエンドキャッシュを含むキャッシュボリュームです。IDE バックエンドをコピーするプロセスにはある程度の時間がかかります。ただし、このプロセスは最初の開発コンテナーの作成時に 1 回だけ実行され、すべてがこのボリュームにコピーされます。そ...