【デブコンテナ】

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(コンテナ)を組み合わせた言葉。コンテナ技術を開発環境構築に特化させた概念だよ
← 用語集にもどる