Initialize Dapr in your local environment
Now that you have the Dapr CLI installed, it’s time to initialize Dapr on your local machine using the CLI.
Dapr runs as a sidecar alongside your application, and in self-hosted mode this means it is a process on your local machine. Therefore, initializing Dapr includes fetching the Dapr sidecar binaries and installing them locally.
In addition, the default initialization process also creates a development environment that helps streamline application development with Dapr. This includes the following steps:
- Running a Redis container instance to be used as a local state store and message broker
- Running a Zipkin container instance for observability
- Creating a default components folder with component definitions for the above
- Running a Dapr placement service container instance for local actor support
DockerThis recommended development environment requires Docker. It is possible to initialize Dapr without a dependency on Docker (see this guidance) but next steps in this guide assume the recommended development environment.
Step 1: Open an elevated terminal
If you run your Docker commands with sudo, or the install path is
/usr/local/bin (default install path), you will need to use
Make sure that you run Command Prompt as administrator (right click, run as administrator)
Step 2: Run the init CLI command
Install the latest Dapr runtime binaries:
Step 3: Verify Dapr version
Output should look like this:
CLI version: 1.3.0 Runtime version: 1.3.0
Step 4: Verify containers are running
As mentioned above, the
dapr init command launches several containers that will help you get started with Dapr. Verify this by running:
Make sure that instances with
redis images are all running:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0dda6684dc2e openzipkin/zipkin "/busybox/sh run.sh" 2 minutes ago Up 2 minutes 9410/tcp, 0.0.0.0:9411->9411/tcp dapr_zipkin 9bf6ef339f50 redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:6379->6379/tcp dapr_redis 8d993e514150 daprio/dapr "./placement" 2 minutes ago Up 2 minutes 0.0.0.0:6050->50005/tcp dapr_placement
Step 5: Verify components directory has been initialized
dapr init, the CLI also creates a default components folder which includes several YAML files with definitions for a state store, pub/sub and zipkin. These will be read by the Dapr sidecar, telling it to use the Redis container for state management and messaging and the Zipkin container for collecting traces.
- In Linux/MacOS Dapr is initialized with default components and files in
- For Windows Dapr is initialized to
You should see:
bin components config.yaml
Using Command Prompt (not PowerShell), open
%USERPROFILE%\.dapr\ in file explorer:
You will see the Dapr config, Dapr binaries directory, and the default components directory for Dapr: