デフォルトのソースコードマウントを変更する
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: Rebuild Containerを実行します。そうでない場合は、コンテナーに接続するためにDev Containers: Open Folder in Container...を実行します。