Real examples
Docker site on 8080
Run a site in a Docker container publishing port 8080, at
https://site.example.com.
You need: workspace alice from Getting started.
1. Add Docker and Caddy to the machine
devmachine packages add docker
devmachine packages add caddy
devmachine sync
2. Put the workspace in the docker group
devmachine workspaces edit alice --set workspace.groups=[docker]
devmachine sync
A workspace in the docker group can do almost anything on the server, so
this is a deliberate step, not the default —
workspaces says why.
3. Run the container
devmachine ssh alice
docker run -d --name site -p 127.0.0.1:8080:80 nginx:alpine
Publishing on 127.0.0.1 is enough: Caddy reaches the container locally, and
the port itself is never open to the internet.
4. Expose it
Back on your own computer:
devmachine expose add alice 8080 --host site.example.com --publish
devmachine sync
Check it: curl https://site.example.com serves the nginx welcome page,
with a valid certificate.
Source: Docker — docker run,
nginx image