coder/examples/templates/devcontainer-docker
Frederik Dudzik 5780050493
chore(docs): fix broken links (#13056)
* fix broken links

* fmt
2024-04-24 11:21:22 +03:00
..
README.md chore(docs): fix broken links (#13056) 2024-04-24 11:21:22 +03:00
main.tf fix: devcontainer-docker bad default directory (#12453) 2024-03-11 16:56:41 +03:00

README.md

display_name description icon maintainer_github verified tags
Devcontainers (Docker) Provision envbuilder containers as Coder workspaces ../../../site/static/icon/docker.png coder true
container
docker
devcontainer

Remote Development on Docker Containers (with Devcontainers)

Provision Docker containers as Coder workspaces with this example template.

Prerequisites

Infrastructure

The VM you run Coder on must have a running Docker socket and the coder user must be added to the Docker group:

# Add coder user to Docker group
sudo adduser coder docker

# Restart Coder server
sudo systemctl restart coder

# Test Docker
sudo -u coder docker ps

Architecture

Coder supports devcontainers with envbuilder, an open source project. Read more about this in Coder's documentation.

This template provisions the following resources:

  • Docker image (built by Docker socket and kept locally)
  • Docker container pod (ephemeral)
  • Docker volume (persistent on /home/coder)

This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. python3), modify the container image. Alternatively, individual developers can personalize their workspaces with dotfiles.

Note This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.

Editing the image

Edit the Dockerfile and run coder templates push to update workspaces.