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

Docker

This 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 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:

  1. dapr init

Step 3: Verify Dapr version

  1. dapr --version

Output should look like this:

  1. CLI version: 1.3.0
  2. Runtime version: 1.3.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:

  1. docker ps

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

  1. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
  2. 0dda6684dc2e openzipkin/zipkin "/busybox/sh run.sh" 2 minutes ago Up 2 minutes 9410/tcp, 0.0.0.0:9411->9411/tcp dapr_zipkin
  3. 9bf6ef339f50 redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 0.0.0.0:6379->6379/tcp dapr_redis
  4. 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

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\

  • Linux/MacOS

  • Windows

Run:

  1. ls $HOME/.dapr

You should see:

  1. bin components config.yaml

Using Command Prompt (not PowerShell), open %USERPROFILE%\.dapr\ in file explorer:

  1. explorer "%USERPROFILE%\.dapr\"

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

Init Dapr locally - 图1

Next step: Use the Dapr API >>

Last modified September 17, 2021 : Merge pull request #1757 from georgestevens99/1440SecretKeyRefExplanation (620a5f8)