microsoft / microsoft/vscode-remote-release

Add ability to mount volumes by configuration

Open
#3,185 1 comment 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

containers feature-request
Dominant language
Dockerfile
Stars
4.2k
Forks
470
Avg merge
1d 1h
Merged PRs (30d)
1

Description

In a similar vein to being able to install extensions that are good for me, but not essential to my project, and configure a dotfiles repo to install tools that are useful to me but not essential for my project, it would be helpful if I could bind volumes that are useful to me but not essential for my project.

Example use-case: I like to use oh-my-zsh for terminal hacking, but I don't want to force other people working on my project to work with zsh when bash would do the job. Currently, I install zsh, oh-my-zsh and all my favourite themes/plugins in dotfiles. If I could share zsh history across my various containers through a named volume on the host then the oh-my-zsh auto-complete plugin would become a lot more useful.

Unfortunately, at least as I understand it, mounts can be added only through docker run, which is entirely under the control of the remote containers extension. I could add it to the mounts property and it wouldn't really hurt anyone else, but that feels like a bad solution for personal preferences. It also doesn't help me when I work on someone else's project.

If a user-level config array was added (similar to the extensions list) that accepted strings in the same format as the mounts property in devcontainer.json then merged the two lists (removing any effective dupes) before passing them to docker run, I could solve that problem (and others) pretty easily.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the remote containers extension's handling of devcontainer.json, especially the mounts and extensions properties, through to docker run. Define how a user-level mount array is read and how effective duplicates are identified. Done means user-level and project mounts are merged before docker run without changing project behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, vscode
Domain
devops, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.