2.7 KiB
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 will specify
CODER_ACCESS_URL=http://localhost:7080
since we're using local Docker workspaces exclusively.CODER_ACCESS_URL
is the external URL to access Coder. The rest of the Docker quickstart guide will assume that this is your Access URL.You will also specify
CODER_ADDRESS=0.0.0.0:7080
which is the address to serve the API and dashboard.coder server --address $CODER_ADDRESS --access-url $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.