🔐 New: A CISO’s benchmark for authorization maturity ➔ [Download the ebook](https://solutions.cerbos.dev/authorization-maturity-model-a-cisos-benchmark)

# Run Cerbos with Docker

Run the Cerbos PDP as a Docker container for local development or production deployments.

[Container documentation](https://docs.cerbos.dev/cerbos/latest/installation/container.html)

### Official image

Multi-architecture container image published to GitHub Container Registry for every release

### Volume-mount policies

Mount a local policy directory into the container for rapid development and testing

### Compose-ready

Add Cerbos to your Docker Compose stack alongside your application services

## What is Cerbos?

Cerbos is an open-source authorization layer that decouples access control from your application code. It runs as a stateless Policy Decision Point (PDP) that evaluates fine-grained policies at request time.

Authorization policies are written in human-readable YAML supporting [RBAC](/content/features-benefits-and-use-cases/rbac/index.html), [ABAC](/content/features-benefits-and-use-cases/abac/index.html), and [conditional rules](/content/features-benefits-and-use-cases/pbac/index.html). They can be updated, tested, and deployed independently of your application.

Deploying Cerbos via Docker gives you a production-ready authorization service that scales horizontally and fits naturally into your existing infrastructure and observability stack.

[Policy-as-codeHuman-readable YAML policies managed like source code](/content/features-benefits-and-use-cases/human-readable-authorization/index.html) [Scalable PDPStateless policy decision point with sub-millisecond latency](/content/features-benefits-and-use-cases/scalability/index.html) [Centralized managementManage, test, and deploy policies from a single control plane](/content/features-benefits-and-use-cases/centralized-management/index.html)

### How to run Cerbos with Docker

1. **Pull the Cerbos image**, Run `docker pull ghcr.io/cerbos/cerbos:latest` to download the official container image.
2. **Mount your policies**, Use `-v /path/to/policies:/policies` to make your YAML policy files available inside the container.
3. **Start the container**, Run `docker run --rm -p 3592:3592 -p 3593:3593 ghcr.io/cerbos/cerbos:latest` to start the PDP with HTTP and gRPC endpoints.
4. **Connect your application**, Use a Cerbos SDK to send authorization checks to the running container.

## FAQ

### How do I run Cerbos with Docker?

Run `docker run --rm -p 3592:3592 -p 3593:3593 ghcr.io/cerbos/cerbos:latest` to start the PDP. Mount a local policy directory with `-v` to load your authorization policies.

### Does Cerbos require any external dependencies?

No. The Cerbos container image is self-contained with no external dependencies. Policies can be loaded from a mounted volume, a Git repository, or Cerbos Hub.

### Can I use Docker Compose with Cerbos?

Yes. Add Cerbos as a service in your docker-compose.yml alongside your application. Mount your policy directory as a volume and expose the gRPC and HTTP ports.
