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
Dapr release candidateThis page provides instructions for installing Dapr runtime v0.11. To install v1.0-rc2 preview, the release candidate for the upcoming v1.0 release please visit the v1.0-rc2 docs version of this page. Note you will need to ensure you are also using the preview version of the CLI (instructions to install the latest preview CLI can be found here).
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: 0.11 Runtime version: 0.11
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
%USERPROFILE%\.dapr\ in file explorer:
You will see the Dapr config, Dapr binaries directory, and the default components directory for Dapr: