Docker installation

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.

Docker

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.

Step 1: Run the container

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.

Step 2: Customize the configuration (Optional)

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:

Docker Compose

To orchestrate the Varnish Virtual Registry container and manage all options in a compose.yaml file, follow the steps below.

Step 1: Create a compose.yaml file

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"

Step 2: Run docker compose up

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.

Step 3: Optionally mount a custom Orca config file

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

We also have tutorials that teaches you how to enable TLS and register a custom Virtual Registry license using docker compose:

Check that Varnish Virtual Registry is accepting traffic

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.


®Varnish Software, Wallingatan 12, 111 60 Stockholm, Organization nr. 556805-6203