制限
Dev Container を使用する際には、留意すべき制限事項がいくつかあります。
Windows 上の Dev Container
Windows OS ベースの Dev Container イメージはサポートされていません。
VCS プロジェクトから Dev Container を作成する
VCS プロジェクトからの Dev Container を起動すると、内部で次の手順が実行されます。
Dev Container を構築する
git clone
のヘルパーコンテナーを準備します。Docker ボリュームにクローンします。
tmp
作業ディレクトリを作成します。ボリュームからビルドコンテキストを抽出します。
Docker は Dev Container ビルのコンテキストを取得します。
一時作業ディレクトリをクリーンアップします。
マウントプロセスと相対パスに関連する devcontainer.json
プロパティ、Docker ファイル、および Docker-compose のエラーを回避するために、すべてのビルド手順をリストし、Dev Container 構成を確認することを提案する警告を含めます。
次の警告例を確認してください。
リモート IDE 内でコンテナーを実行する
実行中のバックエンドクライアント接続から Dev Container を作成するシナリオはサポートされていません。
例: SSH 接続を使用してリモートプロジェクトに接続し、devcontainer.json
を追加しました。作成された devcontainer.json
ファイルから Dev Container を起動するオプションはありません。
ただし、回避策として次の手順を使用できます。
リモートマシンで Dev Container を作成する
Docker の SSH への接続を作成します。
Docker CLI をローカルにインストールします。
Windows では、Docker デスクトップなしでインストールできます。Docker デーモンは必要なく、Docker CLI のみが必要です。
SSH マシンからのすべての変更を Git にコミットします。
リモートサーバーと
git clone
コマンドを使用して Dev Container を作成します。
関連ページ:
Dev Container
開発コンテナー (Dev Container) は、完全に機能する開発環境として使用されるように構成された Docker コンテナーです。PhpStorm を使用すると、このようなコンテナーを使用してプロジェクトを編集、ビルド、実行できます。開発コンテナーの仕様を確認する必要がある場合は、Dev Container プロパティを参照してください。PhpStorm は、Docker Compose プロパティで構成できる複数のコンテナー接続もサポートします。Dev Container を起動するため...
Docker
Docker は、分離された再現可能な環境で実行可能ファイルをデプロイおよび実行するためのツールです。これは、たとえば、本番環境と同じ環境でコードをテストする場合に役立ちます。PhpStorm は Docker 機能を統合し、Docker イメージの作成、Docker コンテナーの実行、Docker Compose アプリケーションの管理、パブリックおよびプライベート Docker レジストリの使用など、IDE から直接実行するための支援を提供します。Docker プラグインを有効にするこの機能は...
前提条件
前提条件:実際の Dev Container を記述するファイルを含むフォルダーを含むプロジェクトがあります。現在、ファイルのコード補完は制限されています。ただし、次のプロパティは使用できます。ビルドプロパティがサポートされています。一般プロパティ、、、を除く。Docker compose プロパティがサポートされています。ライフサイクルスクリプトはを除いてサポートされます。ポート属性では、のみがサポートされます。ホストの最小要件はサポートされていません。の変数がサポートされています。、Git...
認証情報の共有
リモートサーバーで Dev Container を構築する場合、リモートサーバーにアクセスしてプロジェクトをクローンするには認証が必要です。現在サポートされている認証方法は、SSH キー経由です。パスワード認証はまだサポートされていません。更新については、関連する問題を参照してください。パスワード認証がある場合は、SSH キーを含むファイルを生成し、それをリモートサーバーに転送し、Git 資格情報を共有する方法について次の手順を参照してください。SSH キーを作成して転送するローカルターミナルを...