Dev Containers 環境の調査まとめ
public.icon
🤖に調査してもらった
Dev Containers(開発コンテナ)は、Dockerコンテナを使って開発環境を定義・実行する仕組み。 Dev Containers は、コンテナ内で開発するため、ローカル環境を汚さずに、複数のプロジェクトで異なるバージョンのツールを使い分けられる。エディタから透過的にアクセスでき、普段通りターミナルやコマンドを使えるので、開発体験はほとんど変わらない。
主な特徴
環境の一貫性
チーム全員が同じ開発環境を使える
「私のマシンでは動く」問題を解消
環境定義ファイル
.devcontainer/devcontainer.jsonで環境を設定
必要なツール、拡張機能、環境変数などを記述
隔離性
ホストマシンを汚さない
プロジェクトごとに異なる環境を簡単に切り替え
再現性
新しいメンバーでもすぐに開発を始められる
CIで使う環境と開発環境を揃えられる
設定例
code:json
{
"name": "Node.js プロジェクト",
"image": "mcr.microsoft.com/devcontainers/javascript-node:18",
"customizations": {
"vscode": {
}
}
}
エディタからのアクセス
統合ターミナル
Dev Container を開くと、ターミナルが自動的にコンテナ内で起動
Ctrl + ` (バッククォート) でターミナルを開く
そのまま npm install、git などのコマンドが実行可能
コマンドパレット経由
Cmd + Shift + P → "Dev Containers: Attach Shell" でシェルを開く
2026年1月にサポート開始
v0.218 で Dev Container サポートが追加された(つい最近!)
.devcontainer/devcontainer.json があるプロジェクトを開くと自動検出
UI に通知が表示され、Dev Container で開くか選択できる
要件
Docker がインストールされ、PATH に含まれている必要がある
現時点の制限事項
1. 拡張機能の管理: コンテナ環境用に拡張機能を個別管理できず、ホストの拡張機能をそのまま使用
2. ポートフォワーディング: appPort のみサポート。forwardPorts などの高度な機能は未実装
3. 自動リロード: devcontainer.json を更新しても自動再ビルド・リロードされない。手動でコンテナを再起動する必要がある
評価: まだ初期段階の実装だが、基本的な使用は可能。VS Code ほど成熟していないが、今後改善が期待される。
その他(切り出し)