DevContainerのファイル同期の仕組み
public.icon
from Dev Containers 環境の調査まとめ
DevContainerのファイル同期の仕組み
ソースファイルの場所
実体はローカルのディスク(macOS/Windows/Linux)に保存
Git でバージョン管理されるのもローカルのファイル
実行環境
Node.js のバージョン、Python、パッケージなどはコンテナ内にインストール
コンテナ内からローカルのファイルをマウント(参照)して実行
構造例
code:_
ローカル: ~/project/
├── src/
│ └── app.js ← 実ファイルはここ
└── .devcontainer/
└── devcontainer.json
コンテナ内: /workspaces/project/
├── src/
│ └── app.js ← マウントされて見える
└── Node.js 18 ← コンテナ内にインストール
メリット
ファイルは手元に: バックアップやGit操作が通常通り
環境は隔離: プロジェクトAでNode 16、プロジェクトBでNode 20を使い分け
パフォーマンス: ファイルをコピーせず直接マウントするので高速
つまり「ソースはローカル、実行環境だけDocker」という構成。