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
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:
dapr init
Step 3: Verify Dapr version
dapr --version
Output should look like this:
CLI version: 1.2.0
Runtime version: 1.2.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:
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 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
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\
Run:
ls $HOME/.dapr
You should see:
bin components config.yaml
Using Command Prompt (not PowerShell), 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: