- Notifications
You must be signed in to change notification settings - Fork909
Open
Labels
Description
This request is inspired by Early Access feedback.
We need to un-confuse our users about when and how to use new devcontainer integration vs. the legacy envbuilder. The documentation should probably take a form of a simple guideline, or perhaps a parent page which helps the user make a decision how they want to integrate devcontainers.
Suggestions:
- Direct devcontainer support is more compatible with devcontainer standard and allows for multiple devcontainers to be easily switched between. It also separates the parent workspace from the devcontainer within. On a flipside it requires container runtime and socket, as well as devcontainer-cli which may not be appreciated by some customers. For container runtime it is possible to use sysbox (although a bit tricky to maintain), rootless podman or docker.
- Envbuilder/kaniko is an alternative approach. It is less compatible with the devcontainer standard. It effectively unwraps the devcontainer definition and turns the parent workspace into a devcontainer-like environment. It does not require any container runtime to be present within the workspace itself (so there is no container-in-container relationship). It only supports one devcontainer in a workspace as the workspace effectively becomes a devcontainer. It may be a bit trickier to set up initially.