デフォルトのソースコードマウントを変更する
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...を実行してコンテナーに接続します。