Skip to content

Guideline on when to use new devcontainer integration vs. envbuilder #18100

@bartekgatzcoder

Description

@bartekgatzcoder

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.

Metadata

Metadata

Assignees

Labels

docsArea: coder.com/docs

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions