チュートリアル: Dev Containers 入門
このチュートリアルでは、ローカルプロジェクト用の Dev Container 構成を作成し、コンテナーをビルドして、その中でプロジェクトを開きます。 最後には、実行中のコンテナーと、それに接続された IDE ウィンドウが用意されます。
始める前
Docker がマシンにインストールされており、Docker デーモンが実行されています。 PyCharm は Docker 経由でコンテナーをビルドするため、デーモンが停止しているとビルドは失敗します。
Docker プラグイン がインストールされ、有効になっています。
PyCharm でローカルプロジェクトを開いています。
リモート Dev Containers を含む要件の完全な一覧については、 前提条件 を参照してください。
ステップ 1. プロジェクトを準備する
devcontainer.json は Dev Containers をビルドするために必要な構成ファイルなので、プロジェクト内に存在する必要があります。 ファイルはプロジェクトルートの .devcontainer フォルダーに配置されます。間に .devcontainer/.../.../devcontainer.json のような別のフォルダーが存在する場合もあります。
Dev Containers の作成をすばやく開始するには、二つのオプションがあります: シンプルなファイルを作成するか、IDE 内の機能を使用してテンプレートから構成ファイルを作成します。
Dev Container の最小要件は、ビルド元となるイメージです。
プロジェクトビューでプロジェクト名を右クリックし、 新規 | ファイル を選択します。
.devcontainer/devcontainer.json と入力して、プロジェクトルート下の .devcontainer ディレクトリに構成を作成します。
エディターでファイルを開き、次のコードを追加します:
{ image: "ubuntu:latest" }
プロジェクトビューでプロジェクト名を右クリックし、 新規 | Dev Container 構成 を選択します。
開いたダイアログで、PyCharm はデフォルトのコンテナー構成を表示します。 デフォルトのテンプレートで Dev Container を作成するには十分ですが、必要に応じて Dev Container テンプレート ドロップダウンから他の言語固有のテンプレートを選択できます。
OK をクリックして、比較的シンプルな (ただしコメントが多い)
devcontainer.jsonを作成します:// Default Ubuntu-based DevContainer Template. // For more customization options, see https://containers.dev/implementors/json_reference { name: "Default", image: "ubuntu:latest", customizations : { // Configure JetBrains IDE-specific properties jetbrains : { backend : "IntelliJ", settings : { // IDE settings can be added via “Show context actions”|“Add currently modified settings from IDE”. // A complete list of supported settings is also available through auto-completion }, plugins: [ // A set of plugin IDs. // Plugin ID can be found on the corresponding plugin’s page at https://plugins.jetbrains.com. ] } }, features: { "ghcr.io/devcontainers/features/git" : {}, // Add additional features to your project using auto-completion. }, // Comment out to connect as the root user. remoteUser: "ubuntu" }
ステップ 2. ビルドプロセスの準備をする
Dev Container をビルドする前に、使用する Dev Container 実装を検討してください:
Remote Development の古い実装では、 設定 | 詳細設定 の Dev Container プロジェクトをネイティブに開く オプションが無効になっていることを確認してください。
ネイティブモード実装を使用する場合は、 設定 | 詳細設定 で Dev Container プロジェクトをネイティブに開く オプションを有効にします。
さらに、Remote Development 実装を使用する場合は、拡張されたバックエンドの選択肢を提供するように IDE を設定することをお勧めします。
Dev Containers の特定の IDE バックエンドバージョンを選択する
Ctrl+Alt+S を押して設定を開き、 を選択します。
右側のオプションの Dev Container セクションで、 バックエンドのバージョンを自動的に選択する を無効にし、 OK をクリックして変更を保存します。
このオプションを無効にすると、Dev Container のビルド後に複数のバックエンドバージョンを使用できるようになります。
カスタムリモート開発バックエンドを使用するには (たとえば、未公開の IDE ビルドで問題を確認する場合)、次の操作を行います:
IDE バックエンドを手動でダウンロードする
ダウンロードページを開きます。
Dev Containers では現在 Linux ベースのイメージのみがサポートされているため、オペレーティングシステムとして Linux を選択します。
Docker Engine が実行されているホストに対応するアーキテクチャのアーカイブをダウンロードします。
メインメニューで に移動するか、 Shift を押して検索ウィンドウを開きます。
registryと入力して、 レジストリ… オプションを選択します。開いたウィンドウで
devcontainers.use.separate.project.panelキーを検索し、有効にします。 閉じる をクリックします。IDE を再起動します。
レジストリキーを有効にしたら、Dev Container のビルドを開始します。
IDE とプロジェクトを選択 ウィンドウが開いたら、 インストールオプション リンクをクリックし、 インストーラファイルをアップロードする アクションを選択します。
IDE バージョン フィールドが アーカイブを選択 ファイルに変わります。
ダウンロードした IDE バックエンドアーカイブへのパスを指定します。
Dev Container のビルドプロセスを続行します。
ステップ 3. Dev Container のビルドを開始する
.devcontainer/devcontainer.json を開きます。 ガターの Dev Containers アイコンをクリックし、 Dev Container を作成してソースをマウント… を選択します。 バックエンド IDE の選択を求められた場合は、PyCharm を選択します。
ビルドが開始されると、ビルドプロセスを表示するために Services ビューが自動的に開きます:
選択した実装 (Remote Development とネイティブモード) によって、次のフローは少し異なります。
リストからバックエンドバージョンを選択し、それと Client がダウンロードされるまで待ちます:
場合によっては、Dev Container のビルドとバックエンドのデプロイプロセスに 10 秒以上かかると、Client は開かれません。代わりに、 接続 ボタン付きの通知が IDE に表示されます。 ボタンを押します。
次のウィンドウで プロジェクトを信頼 ボタンを押し、Client が開くまで待ちます:
すでに Dev Container 内で開かれているプロジェクトかどうかを確認する方法は? 左上の バックエンドのステータス詳細 ウィジェットで確認できます。
バックエンドのデプロイ手順がないため、Dev Container プロジェクトは IDE で即座に開かれます。 プロジェクトを開く場所 オプションが 設定 | 外観 & 振る舞い | システム設定 で 確認する に設定されている場合、プロジェクトは確認後に開かれます。
プロジェクトがネイティブモードを使用する Dev Container で開かれているかどうかを確認するには、通常とは異なるプロジェクトルートパスと、エディターの左上に Dev Container 情報を表示するウィジェットを確認します。
