最終更新:
WSL2とDev Containerの違いは?併用する構成と選び方を図解
Windowsの開発環境は、WSL2かDev Containerの二択なの?
Dev Containerは何を共有するの?
devcontainer.jsonやDockerfileなどで、ツール・ランタイム・拡張機能・起動設定を共有できるよ。VS Codeではコンテナ内の環境に接続して開発する。ソースはマウントしたり、コンテナ用ボリュームへ取得したりするんだ。
チーム全員が完全に同じになる?
併用するとどういう構成になる?
ファイルはCドライブに置いておけばいい?
GPUや起動速度で決めるなら?
まず何から始めるのがいいかな?
Linuxの操作を学ぶならWSL2で始めてもいいし、チームに既存のdevcontainer設定があるならそれにそろえるのが実用的だよ。他人の設定は起動時にコマンドを実行しうるので、内容を確認してから信頼しよう。
役割を比べる
| 観点 | WSL2 | Dev Container |
|---|---|---|
| 何を提供するか | Windows上のLinux実行環境 | プロジェクト単位の開発環境定義 |
| 主な共有物 | セットアップ手順など | devcontainer.json、Dockerfileなど |
| 共存 | コンテナエンジンの基盤にもなる | WSL2上のエンジンでも利用可能 |
| 残る管理 | ディストリビューション・依存関係の更新 | ベースイメージ・依存関係・権限の更新 |
併用時に迷いやすい「ソースの場所」
Linuxのツールを使う例では、/home/ユーザー名/projectにソースを置き、VS CodeのWSL拡張で開いた後、Dev Containersの「Reopen in Container」を利用します。前提はWSL2と対応コンテナエンジンが動作していることです。Windows上のパスを使う方式もありますが、境界をまたぐI/Oを含めて比較します。
再現性を高めるには、設定だけでなくイメージの版、依存関係のロックファイル、CPU対応もそろえます。コンテナを消しても残すソース・データと、作り直せる環境を分けることが重要です。
参考資料
確認日:2026年9月26日。製品の仕様・料金・対応環境は導入時にも確認してください。
- Microsoft: WSL versions:WSL2のLinuxカーネルと管理VM。
- VS Code: Developing inside a Container:開発環境定義・WSL2との併用・Workspace Trust。
- Microsoft: Working across file systems:Linux側ファイル配置とI/O。