Skip to content

Latest commit

 

History

History
52 lines (40 loc) · 2.49 KB

add-local-file-mount.md

File metadata and controls

52 lines (40 loc) · 2.49 KB
Order Area TOCTitle PageTitle ContentId MetaDescription DateApproved
4
advancedcontainers
Add local file mount
Add local file mount to a container
1a14ff36-13ea-40ec-acc9-16bd0d6725f6
Add local file mount to a container
04/03/2025

Add another local file mount

Note: Mounting the local file system is not supported in GitHub Codespaces. See developing inside a container on a remote Docker host for information on mounting remote folders in this scenario.

You can add a volume bound to any local folder by using the following appropriate steps, based on what you reference in devcontainer.json:

  • Dockerfile or image: Add the following to the mounts property (VS Code 1.41+) in this same file:

    "mounts": [
      "source=/local/source/path/goes/here,target=/target/path/in/container/goes/here,type=bind,consistency=cached"
    ]

    You can also reference local environment variables or the local path of the workspace. For example, this will bind mount ~ ($HOME) on macOS/Linux and the user's folder (%USERPROFILE%) on Windows and a sub-folder in the workspace to a different location:

    "mounts": [
        "source=${localEnv:HOME}${localEnv:USERPROFILE},target=/host-home-folder,type=bind,consistency=cached",
        "source=${localWorkspaceFolder}/app-data,target=/data,type=bind,consistency=cached"
    ]

Video: Add additional folders from your local machine to a dev container

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/L1-dx-ZD0Ao" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>



  • Docker Compose: Update (or extend) your docker-compose.yml with the following for the appropriate service:

    version: '3'
    services:
      your-service-name-here:
        volumes:
          - /local/source/path/goes/here:/target/path/in/container/goes/here:cached
          - ~:/host-home-folder:cached
          - ./data-subfolder:/data:cached
         # ...

If you've already built the container and connected to it, run Dev Containers: Rebuild Container from the Command Palette (kbstyle(F1)) to pick up the change. Otherwise run Dev Containers: Open Folder in Container... to connect to the container.