DevContainer環境を立ち上げた際にやること

SSH 設定

再ビルド

  1. Command Paletteを開く: Ctrl+Shift+P (Windows/Linux) または Cmd+Shift+P (Mac)
  2. Dev Containers: Rebuild Containerを検索・実行
  3. またはDev Containers: Rebuild and Reopen in Container

設定ファイル(devcontainer.json)における設定項目

プロパティ説明 / 用途
namestringコンテナを識別する名前。UI(例: VS Code)上で表示される。 (devcontainers.github.io)
imagestring既存の Docker イメージを使う場合、その名前(例: "mcr.microsoft.com/devcontainers/base:jammy")。 (code.visualstudio.com)
buildobjectコンテナをビルドする設定。Dockerfile を指定したり、ビルドコンテキストや引数を渡すことができる(※スキーマにより詳細指定可能)。 (devcontainers.github.io)
featuresobject“Feature”(Dev Container の共通構成モジュール)を追加するための設定。例えば docker-in-docker や言語ランタイムなどを feature として定義できる。 (code.visualstudio.com)
overrideFeatureInstallOrderarray[string]Feature のインストール順序を指定。特定の Feature を先に入れたい/順序を制御したい場合に使う。 (devcontainers.github.io)
forwardPortsarrayコンテナ内のポートをホストへ転送する設定。整数(例:3000)または "host:port" 形式も可。 (devcontainers.github.io)
portsAttributesobjectforwardPorts で指定したポートの属性(ラベル、動作など)を細かく制御。 (devcontainers.github.io)
otherPortsAttributesobjectportsAttributes で指定していないポート/範囲に対してデフォルトの挙動を指定。 (devcontainers.github.io)
containerEnvobjectコンテナ内の環境変数を定義・上書き。例:"MY_VAR": "value"。 (devcontainers.github.io)
remoteEnvobject“リモート” 環境(VS Code が使う環境)用の環境変数を定義。containerEnv とは異なり、VS Code のターミナルなどで使われる環境。 (devcontainers.github.io)
customizationsobjectVS Code 固有のカスタマイズ。中に vscode プロパティを持てる。 (devcontainers.github.io)
customizations.vscode.extensionsarray[string]コンテナ起動時に VS Code 内にインストールする拡張機能を列挙。例えば "ms-python.python" など。 (code.visualstudio.com)
customizations.vscode.settingsobjectコンテナ内 VS Code 用の設定(settings.json 相当)。例:ターミナルのシェル指定やエディタ設定。 (devcontainers.github.io)
remoteUserstringコンテナ内で VS Code サーバーやターミナルを動かすユーザーを指定。root ではなく別ユーザーを使うケースに使われる。 (code.visualstudio.com)
postCreateCommandstringコンテナ作成直後に実行されるコマンド。依存のインストールや初期セットアップに使う。 (Zenn)
shutdownActionstring“閉じるとき” にどう振る舞うかを指定する(例:Compose を停止するなど)。 (code.visualstudio.com)
mountsarray[object]ホストとコンテナのマウント設定。バインドマウント(type = "bind")やボリュームマウント(type = "volume")を細かく指定できる。 (Zenn)