【デブコンテナ】
Dev Container とは?
💡 「自分のPCでは動くのに…」を根絶する救世主
📌 このページのポイント
- devcontainer.jsonという設定ファイル1つで、開発に必要なツール・拡張機能・設定をすべて定義できる
- Dockerコンテナ内で開発するため、ホストマシンの環境を汚さずにプロジェクトごとの環境を分離できる
- VS CodeのDev Containers拡張機能やGitHub Codespacesなど、多くのツールが対応している
- OCI Dev Container仕様としてオープン標準化が進んでおり、特定エディタに依存しない
Dev Containerってなに?Dockerとは違うの?
それって何がうれしいの?
新しいメンバーがプロジェクトに参加したとき、「環境構築に3日かかった…」なんてことがなくなるんだ。リポジトリをクローンしてDev Containerを開けば、数分で全員同じ環境が手に入るよ
おもしろい!"VS Code以外でも使えるの?"
OCI Dev Container仕様としてオープン標準になっているから、JetBrains系のIDEやDevPod、GitHub Codespacesなど対応ツールが増えているよ。特定エディタに縛られないのが強みだね
Dockerfileだけじゃダメなの?わざわざdevcontainer.jsonを書く意味って?
Dockerfileはコンテナの中身を定義するけど、devcontainer.jsonは「エディタの拡張機能を自動インストール」「ポートフォワーディング設定」「起動後に実行するコマンド」まで定義できるんだ。開発体験そのものをコード化できるのが大きな違いだよ
まとめ:ざっくりこれだけ覚えればOK!
「Dev Container」って出てきたら「設定ファイル1つでチーム全員同じ開発環境を再現できる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Development Container」 = 開発コンテナ
💬 Development(開発)とContainer(コンテナ)を組み合わせた言葉。コンテナ技術を開発環境構築に特化させた概念だよ