To install the Varnish Virtual Registry using Docker, you can run the official Orca Docker image, either through a regular docker run command, our you can orchestrate the deployment using docker compose.
This install guide covers both scenarios.
One way of running the varnish/orca Docker container is through a regular docker run command. Extra options can be added to the command to configure how the container behaves.
Here’s how to do that.
Run the following command to start a Docker container that uses the varnish/orca image:
docker run -p 80:80 varnish/orca
The Varnish Virtual Registry is now listening on port 80 using the default configuration.
You can create a custom Varnish Virtual Registry configuration in config.yaml and mount it into the container at /etc/varnish-supervisor/default.yaml:
docker run -p 80:80 -v $(pwd)/config.yaml:/etc/varnish-supervisor/default.yaml varnish/orca
When using multiple configuration files, it is better to mount a directory into the container like so:
docker run -p 80:80 -v $(pwd):/cfg varnish/orca --config /cfg/config1.yaml:/cfg/config2.yaml
We also have tutorials that teaches you how to enable TLS and register a custom Virtual Registry license using docker run:
To orchestrate the Varnish Virtual Registry container and manage all options in a compose.yaml file, follow the steps below.
Create a compose.yaml file that uses the varnish/orca image and exposes port 80.
Here’s an example:
services:
orca:
image: varnish/orca
ports:
- "80:80"
Once the compose.yaml file is in place, run the following command in the directory where the file was stored:
docker compose up
The Varnish Virtual Registry is now listening on port 80 using the default configuration.
If you want to customize the configuration of the Varnish Virtual Registry, you can mount a config.yaml file into the container by using the following compose.yaml setup:
services:
orca:
image: varnish/orca
ports:
- "80:80"
volumes:
- ./config.yaml:/app/config.yaml:ro
command: --config /app/config.yaml
docker compose down to tear down the existing container setup before running docker compose up again.
We also have tutorials that teaches you how to enable TLS and register a custom Virtual Registry license using docker compose:
Varnish Virtual Registry has a health-check endpoint at /healthz, and will respond with a 200 OK to all requests on that path regardless of Host.
curl http://localhost/healthz -I
HTTP/1.1 200 OK
Date: Wed, 29 Oct 2025 16:17:17 GMT
Content-Length: 0
Accept-Ranges: bytes
Connection: keep-alive
The default configuration has the Virtual Registry listening for HTTP traffic on port 80. If you have changed this to a different port, make sure to curl the right port and protocol.