Docker Runtime
The Docker runtime deploys your app as a container on a single Docker host, with
Traefik handling routing. It is a lighter-weight alternative to
the Kubernetes runtime, well suited to local development and small, single-host
deployments. From your point of view, rise deploy, rise stop, rise logs, and
status all work exactly the same — only the operator’s runtime configuration differs.
Prerequisites
Section titled “Prerequisites”-
A Docker daemon.
-
A running Traefik instance with the Docker provider enabled (configured by your operator). For local development, bring it up with the bundled compose stack:
Terminal window docker compose up -d traefikThe Traefik dashboard is then available at http://localhost:8090.
Apps are served at hostnames derived from the operator’s URL templates, e.g.
https://<project>.<domain>. Locally, the default templates use the *.localhost
suffix, which resolves to 127.0.0.1 automatically — no /etc/hosts edits needed:
- Production:
http://<project>.rise.localhost - Staging group:
http://<group>--<project>.rise.localhost - Per-environment:
http://<env>--<project>.rise.localhost
When your operator configures a Traefik certresolver, Traefik issues and renews TLS certificates automatically and apps are served over HTTPS. Local development typically uses plain HTTP (no certresolver).
Differences vs. Kubernetes
Section titled “Differences vs. Kubernetes”- Single host — there is no cluster; everything runs on one Docker host.
replicas=1— each deployment runs as exactly one container; horizontal scaling is not available on this runtime.- Env vars — environment variables are passed as plain values and are visible via
docker inspect <container>. - Routing — handled by Traefik labels on the container instead of a Kubernetes Ingress.
Example
Section titled “Example”rise deploy# ...# Deployment successful! Your app is now running at# http://my-app.rise.localhostOpen http://my-app.rise.localhost in your browser to reach the deployed app.