【デブコンテナ】

Dev Container とは?

💡 「自分のPCでは動くのに…」を根絶する救世主
📌 このページのポイント
Dev Container の仕組み devcontainer.json Docker コンテナ ランタイム Node / Python等 拡張機能 ESLint / Prettier等 設定・環境変数 ポート / コマンド等 👩‍💻 メンバーA 👨‍💻 メンバーB 🧑‍💻 メンバーC ✓ 全員同じ環境で開発
Dev Container:設定ファイル1つでチーム全員の開発環境を統一
ひよこ ひよこ

Dev Containerってなに?Dockerとは違うの?

ペンギン先生 ペンギン先生

Dockerコンテナの上に「開発環境の設定」を乗せた仕組みだよ。devcontainer.jsonっていうファイルに、使うプログラミング言語、エディタの拡張機能、環境変数なんかを全部書いておくんだ

ひよこ ひよこ

それって何がうれしいの?

ペンギン先生 ペンギン先生

新しいメンバーがプロジェクトに参加したとき、「環境構築に3日かかった…」なんてことがなくなるんだ。リポジトリをクローンしてDev Containerを開けば、数分で全員同じ環境が手に入るよ

ひよこ ひよこ

おもしろい!"VS Code以外でも使えるの?"

ペンギン先生 ペンギン先生

OCI Dev Container仕様としてオープン標準になっているから、JetBrains系のIDEDevPodGitHub Codespacesなど対応ツールが増えているよ。特定エディタに縛られないのが強みだね

ひよこ ひよこ

Dockerfileだけじゃダメなの?わざわざdevcontainer.jsonを書く意味って?

ペンギン先生 ペンギン先生

Dockerfileはコンテナの中身を定義するけど、devcontainer.jsonは「エディタの拡張機能を自動インストール」「ポートフォワーディング設定」「起動後に実行するコマンド」まで定義できるんだ。開発体験そのものをコード化できるのが大きな違いだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Dev Container」って出てきたら「設定ファイル1つでチーム全員同じ開発環境を再現できる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Development Container」 = 開発コンテナ
💬 Development(開発)とContainer(コンテナ)を組み合わせた言葉。コンテナ技術を開発環境構築に特化させた概念だよ
← 用語集にもどる