デフォルトのソースコードマウントを変更する
devcontainer.json に image または dockerFile プロパティを追加すると、VS Code は自動的に現在のワークスペースフォルダーをコンテナーに「バインド」マウントします。ホストの PATH に git が存在し、.devcontainer/devcontainer.json を含むフォルダーが git リポジトリ内にある場合、マウントされる現在のワークスペースはリポジトリのルートになります。ホストの PATH に git が存在しない場合、マウントされる現在のワークスペースは .devcontainer/devcontainer.json を含むフォルダーになります。
これは便利ですが、マウント設定を変更したり、マウントの種類、場所を変更したり、リモート開発コンテナーで実行したりしたい場合があります。
devcontainer.json の workspaceMount プロパティを使用して、自動マウント動作を変更できます。これは、Docker CLI の --mount フラグと同じ値を想定しています。
例
"workspaceMount": "source=${localWorkspaceFolder}/sub-folder,target=/workspace,type=bind",
"workspaceFolder": "/workspace"
これにより、バインドマウントの代わりに名前付きボリュームマウントのようなことも可能になります。これは、特にリモート Docker ホストを使用する場合や、ソースツリー全体をボリュームに保存したい場合に役立ちます。
すでにコンテナをビルドして接続している場合は、コマンドパレット (F1) からDev Containers: コンテナを再構築を実行して変更を反映します。それ以外の場合は、Dev Containers: コンテナでフォルダーを開く... を実行してコンテナに接続します。