The documentation you are viewing is for Dapr v1.0 which is an older version of Dapr. For up-to-date documentation, see the latest version.

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:

  1. Running a Redis container instance to be used as a local state store and message broker
  2. Running a Zipkin container instance for observability
  3. Creating a default components folder with component definitions for the above
  4. Running a Dapr placement service container instance for local actor support

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 sudo below.

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:

dapr init

Step 3: Verify Dapr version

dapr --version

Output should look like this:

CLI version: 1.0.1
Runtime version: 1.0.1

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:

docker ps

Make sure that instances with daprio/dapr, openzipkin/zipkin, and redis images are all running:

CONTAINER ID   IMAGE                    COMMAND                  CREATED         STATUS         PORTS                              NAMES
0dda6684dc2e   openzipkin/zipkin        "/busybox/sh"     2 minutes ago   Up 2 minutes   9410/tcp,>9411/tcp   dapr_zipkin
9bf6ef339f50   redis                    "docker-entrypoint.s…"   2 minutes ago   Up 2 minutes>6379/tcp             dapr_redis
8d993e514150   daprio/dapr              "./placement"            2 minutes ago   Up 2 minutes>50005/tcp            dapr_placement

Step 5: Verify components directory has been initialized

On 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 $HOME/.dapr.
  • For Windows Dapr is initialized to %USERPROFILE%\.dapr\


ls $HOME/.dapr

You should see:

bin  components  config.yaml

Open %USERPROFILE%\.dapr\ in file explorer:

explorer "%USERPROFILE%\.dapr\"

You will see the Dapr config, Dapr binaries directory, and the default components directory for Dapr:

Next step: Use the Dapr API »