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