【デブコンテナ】
Dev Container とは?
最終更新:
💡 「自分のPCでは動くのに…」を減らす、開発環境の設計図
devcontainer.jsonという設定ファイルで、コンテナを開発環境として使えるようにする仕組み。チームで同じ定義を共有でき、VS Codeなどの対応ツールと組み合わせて使う。
📌 このページのポイント
- devcontainer.jsonに、使うイメージやDockerfile、追加するツール(Features)、転送するポート、作成後に実行するコマンドなどを定義する
- コンテナの中で開発するため、プロジェクトごとにツールやランタイムを分けられる
- VS CodeのDev Containers拡張機能、GitHub Codespaces、DevPodなど、対応するツールやサービスがある
- Development Container Specificationというオープンな仕様として公開されていて、特定のエディタ専用ではない
Dev Containerってなに?Dockerとは違うの?
コンテナを「開発環境」として使うための仕組みだよ。devcontainer.jsonっていうファイルに、もとにするイメージやDockerfile、追加したいツール、エディタ向けの設定、環境変数なんかを書いておくんだ
それって何がうれしいの?
VS Code以外でも使えるの?
Development Container Specificationというオープンな仕様になっているから、VS Code専用ではないよ。公式サイトの対応一覧には、Visual Studio、IntelliJ IDEA、GitHub Codespaces、DevPod、参照実装のDev Container CLIなどが載っている。ただ、対応の程度はツールによって違って、たとえばIntelliJ IDEAは初期段階のサポートと書かれているんだ(2026年9月時点)
Dockerfileだけじゃダメなの?わざわざdevcontainer.jsonを書く意味って?
Dockerfileはコンテナの中身を定義するけど、devcontainer.jsonは「どのDockerfileやイメージを使うか」に加えて、「転送するポート」「作成後に実行するコマンド」「ツールごとのカスタマイズ(customizations)」まで定義できるんだ。VS Codeの拡張機能の指定も、このcustomizationsの中に書くよ。Featuresという仕組みで、追加のツールを部品として足すこともできるんだ
まとめ:ざっくりこれだけ覚えればOK!
「Dev Container」って出てきたら「設定ファイルでチーム全員が同じ定義の開発環境を作れる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Development Container」 = 開発コンテナ
💬 Development(開発)とContainer(コンテナ)を組み合わせた言葉。コンテナを開発環境として使うための仕組みだよ