PhpStorm 2024.1 ヘルプ

Docker

Docker(英語) は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。

PhpStorm は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。

Docker プラグインを有効にする

この機能は、デフォルトで PhpStorm にバンドルされて有効になっている Docker(英語) プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。

  1. Ctrl+Alt+S を押して設定を開き、プラグインを選択します。

  2. インストール済みタブを開き、Docker プラグインを見つけて、プラグイン名の横にあるチェックボックスを選択します。

Docker をインストールして実行する

Docker デーモンに接続する

  1. Ctrl+Alt+S を押して設定を開き、ビルド、実行、デプロイ | Docker を選択します。

  2. The Add button をクリックして Docker 構成を追加し、Docker デーモンへの接続方法を指定します。

    接続設定は、Docker のバージョンとオペレーティングシステムによって異なります。詳細については、Docker 接続設定を参照してください。

    ダイアログの下部に接続完了メッセージが表示されます。

    Docker connection settings

    Windows または macOS で Docker を使用する場合に、Docker デーモンを実行している仮想マシンにローカルパスをマッピングする方法の詳細については、「Windows および macOS ホストの仮想マシンパスマッピング」を参照してください。マッピングされたローカルパスの外にあるディレクトリに対してボリュームを使用したり、マウントをバインドしたりすることはできません。

    このテーブルは、Docker がネイティブに実行され、コンテナーに任意のディレクトリをマウントできる Linux ホストでは使用できません。

  3. サービスツールウィンドウ ( 表示 | ツールウィンドウ | サービスまたは Alt+8) を開き、構成済みの Docker 接続ノード Docker node を選択して The Connect button をクリックするか、コンテキストメニューから接続を選択します。

    The Services tool window, connected to Docker

    Docker 接続設定を編集するには、Docker ノードを選択してツールバーの The Edit Configuration button をクリックするか、コンテキストメニューから構成の編集を選択します。

    the Add Service menu をクリックして Docker 接続を選択し、サービスツールウィンドウから直接 Docker 接続を追加することもできます。Docker コンテキスト(英語)が構成されている場合は、Docker コンテキストからの Docker 接続を選択して、対応する接続を追加できます。

Docker デーモンに接続すると、サービスツールウィンドウ ( 表示 | ツールウィンドウ | サービスまたは Alt+8) を使用して、イメージのプルとプッシュコンテナーの作成と実行Docker Compose サービスのスケーリングなど、Docker に関連するすべてを管理できます。他のツールウィンドウと同様に、イメージまたはコンテナーの名前の入力を開始して、一致するアイテムをハイライトできます。

The Services tool window, text search

詳細については、サービスツールウィンドウの Docker に関するセクションを参照してください。

リモートサーバーで Docker を操作する

前提条件

リモートマシンで Docker の使用を開始する前に、次の前提条件が満たされていることを確認してください。

  • リモート Docker インスタンスに接続するために必要なローカル Docker CLI。Docker Desktop または Docker CLI のいずれかをインストールできます。

  • Docker ビルド x(英語) プラグインは、Dockerfile からイメージをビルドするために必要なプラグインです。Docker で Buildx を使用するには、Docker エンジンバージョン 19.03 以降が必要であることに注意してください。

SSH 接続を使用してリモートプロジェクトに接続したとします。次に、devcontainer.json を追加し、リモートマシン上の Dev Container を作成してソースをマウントを介して開発コンテナーを作成しようとしました。

現在、このようなシナリオはサポートされておらず、実行中のバックエンドクライアント接続から開発コンテナーを作成することはできません。リモートプロジェクトに対応するガターオプションがある場合は、対応する問題(英語)に投票またはコメントを追加してください。

回避策として次の手順を実行してください。

リモートマシンに開発コンテナーを作成する

  1. SSH への Docker 接続を作成します。

  2. Docker CLI をローカルにインストールします。Windows では、Docker デスクトップなしでインストールできます。Docker デーモンは必要なく、Docker CLI のみが必要です。

  3. SSH マシンからのすべての変更を Git にコミットします。

  4. ウェルカム画面で git clone コマンドを使用して、JetBrains Gateway 経由で開発コンテナーを作成します。

関連ページ:

Docker 接続設定

PhpStorm から Docker エンジン API にアクセスするための設定を指定します。Docker と PhpStorm の統合の使用方法の詳細については、「Docker」を参照してください。Docker プラグインを有効にするこの機能は、デフォルトで PhpStorm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを開き、...

Docker イメージ

Docker イメージは、コンテナーを実行するための実行可能パッケージです。Docker はレジストリを使用してイメージを配布します。デフォルトでは、PhpStorm は Docker Hub を使用します。これは、さまざまな Linux フレーバー、データベース管理システム、Web サーバー、ランタイム環境など、最も一般的なイメージがすべて含まれるパブリックレジストリです。他にもパブリックおよびプライベートの Docker レジストリがあり、独自のレジストリサーバーをデプロイすることもできます。詳...

Docker コンテナー

Docker コンテナーは、対応するイメージのランタイムインスタンスです。PhpStorm は、Docker 実行構成を使用して、Docker イメージをビルドし、コンテナーを実行するコマンドを実行します。Docker プラグインを有効にするこの機能は、デフォルトで PhpStorm にバンドルされて有効になっている Docker プラグインに依存しています。関連する機能が利用できない場合は、プラグインを無効にしていないことを確認してください。を押して設定を開き、を選択します。インストール済みタブを...

Docker Compose

Docker Compose は、マルチコンテナーアプリケーションを実行するために使用されます。例: Web サーバー、バックエンドデータベース、アプリケーションコードを個別のサービスとして実行できます。各サービスは、必要に応じてコンテナーを追加することで拡張できます。これにより、本番環境と同様に、動的な環境で効率的な開発とテストを実行できます。Docker プラグインを有効にするこの機能は、デフォルトで PhpStorm にバンドルされて有効になっている Docker プラグインに依存しています。関...

サービスツールウィンドウ

サービスツールウィンドウを使用すると、実行 / デバッグ構成、データベースセッション、Docker 接続など、ソフトウェア開発中に役立つさまざまなサービスを管理できます。プラグイン開発者は、IntelliJ プラットフォーム API を通じて他のサービスを追加できます。メインツールバーには、すべてのサービスタイプに共通の次のボタンとメニューが含まれています。すべて展開リスト内のすべての項目を展開します。すべて折りたたむリスト内のすべての項目を折りたたみます。グループ化サービスのリストを整理する方...

Dev Containers に関する FAQ

開発コンテナーを作成した後、Docker にさまざまなボリュームとプロパティが表示されます: それぞれは何をするのでしょうか? :開発コンテナーが作成されると、次のボリュームとプロパティが Docker に表示されます。これは、フォルダー内のすべてのバックエンドキャッシュを含むキャッシュボリュームです。IDE バックエンドをコピーするプロセスにはある程度の時間がかかります。ただし、このプロセスは最初の開発コンテナーの作成時に 1 回だけ実行され、すべてがこのボリュームにコピーされます。そ...