Docker
Coder with Docker has the following advantages:
- Simple installation (everything is on a single box)
- Workspace images are easily configured
- Workspaces share resources for burst operations
Requirements
- A single MacOS or Linux box
- A running Docker daemon
Instructions
-
You may use
CODER_ACCESS_URL=http://localhost:7080
since we're using local Docker workspaces exclusively. The rest of the guide will assume that this is your access URL.coder server -a $CODER_ACCESS_URL
-
Run
coder login http://localhost:7080
in a new terminal and follow the interactive instructions to create your user. -
Pull the example template:
echo "docker" | coder templates init cd docker # You should see a `main.tf` file in this directory
-
Open up
main.tf
in your preferred editor to edit the imagesYou can skip this step if you're fine with our default, generic OS images.
Search for the following section in
main.tf
:... variable "docker_image" { description = "Which Docker image would you like to use for your workspace?" # The codercom/enterprise-* images are only built for amd64 default = "codercom/enterprise-base:ubuntu" validation { condition = contains(["codercom/enterprise-base:ubuntu", "codercom/enterprise-node:ubuntu", "codercom/enterprise-intellij:ubuntu", "codercom/enterprise-golang:ubuntu"], var.docker_image) error_message = "Invalid Docker image!" } } ...
And edit the strings in
condition = contains([...])
anddefault = ...
with your preferred images. -
Push up the template to Coder with
coder templates create
-
Open the dashboard in your browser (http://localhost:7080) to create your first workspace:
Then navigate to
Templates > docker > Create workspace
Now wait a few moments for the workspace to build... After the first build the image is cached and subsequent builds will take a few seconds.
-
All done!
Open up a web application or SSH in.