An existing devcontainer can be reused repeatedly without problems, as long as the source volume (or the container itself) is not deleted.
However, at present, a new devcontainer containing a scala or node project requires two things to start:
- Source (from github)
- Runtime / modules (sbt/scala or the node/modules)
It is plausible that both will already be present on the host, but the devcontainer will attempt to fetch them, which will prevent offline working or potentially slow it down a lot.
Underlying problems:
- The devcontainer start process insists on a clone or mount, and we would rather people did not mount.
- We cannot cache ~/.sbt/boot because there are lockfiles adjacent to the libraries, which would potentially be fragile if re-used.
- node modules directories cannot easily be cached as they can be located at different places within the repo
An existing devcontainer can be reused repeatedly without problems, as long as the source volume (or the container itself) is not deleted.
However, at present, a new devcontainer containing a scala or node project requires two things to start:
It is plausible that both will already be present on the host, but the devcontainer will attempt to fetch them, which will prevent offline working or potentially slow it down a lot.
Underlying problems: