在本地环境中初始化 Dapr
dapr init
在本地安装它们现在您已经 安装了 Dapr CLI,使用 CLI 在本地计算机上初始化 Dapr。
Dapr 作为 sidecar 与您的应用程序一起运行。 在自托管模式下,这意味着它是本地计算机上的一个进程。 通过初始化 Dapr,您可以:
- 在本地获取并安装 Dapr sidecar 二进制文件。
- 创建一个开发环境,用Dapr简化应用开发。
Dapr 初始化包括:
- 运行 Redis 容器实例 以用作本地状态存储和消息代理。
- 运行一个Zipkin容器实例以提供可观测性。
- 创建一个默认组件文件夹,其中包含上述的组件定义。
- 运行 Dapr Placement 服务容器实例以获得本地 actor 支持。
Kubernetes Development Environment
To initialize Dapr in your local or remote Kubernetes cluster for development (including the Redis and Zipkin containers listed above), see [how to initialize Dapr for development on Kubernetes]({{<ref “kubernetes-deploy.md#install-dapr-from-the-official-dapr-helm-chart-with-development-flag”>}})Docker
推荐的开发环境需要Docker。 虽然您可以在不依赖 Docker 的情况下初始化 Dapr,但本指南中的后续步骤将假定使用推荐的 Docker 开发环境。
您还可以安装Podman代替docker。 阅读更多关于使用 Podman 初始化 Dapr。
第 1 步:打开提升权限终端
如果您符合以下条件,您将需要使用 sudo
运行此快速入门:
- 您使用
sudo
运行 Docker 命令,或者 - 安装路径为
/usr/local/bin
(默认安装路径)。
以管理员身份运行 Windows 终端或命令提示符。
- 右键单击 Windows 终端或命令提示符图标。
- 选择以管理员身份运行。
第 2 步:运行 init CLI 命令
安装最新的 Dapr 运行时二进制程序:
dapr init
如果您正在使用 Docker 在 Mac OS Silicon 上安装,请执行以下解决方法,以使 dapr init
在不使用 Kubernetes 的情况下与 Docker 通信。
- 导航到Docker Desktop > 设置 > 高级。
- 选择**允许使用默认的 Docker 套接字(需要密码)**复选框。
安装最新的 Dapr 运行时二进制程序:
dapr init
如果遇到关于 Docker 未安装或未运行的错误消息,请参阅故障排除指南。
第 3 步:验证 Dapr 版本
dapr --version
Output:
命令行工具版本: 1.14.1
运行时版本: 1.14.4
第 4 步:验证容器是否运行
如前所述,dapr init
命令启动了几个容器,这将帮助你开始使用Dapr。 请确保你有运行着 daprio/dapr
、openzipkin/zipkin
和 redis
镜像的容器实例:
docker ps
Output:
第 5 步:验证组件目录已初始化
在dapr init
时,CLI还会创建一个默认的组件文件夹,其中包含了几个YAML文件,用于定义状态存储、发布/订阅和Zipkin。 Dapr sidecar 将读取这些组件并使用:
- 用于状态管理和消息传递的 Redis 容器。
- 用于收集trace的 Zipkin 容器。
通过打开您的组件目录进行验证:
- 在Windows上,在
%UserProfile%\.dapr
- 在Linux/MacOS上,在
~/.dapr
下
ls $HOME/.dapr
Output:
bin components config.yaml
You can verify using either PowerShell or command line. 如果使用PowerShell,请运行:
explorer "$env:USERPROFILE\.dapr"
如果使用命令行,请运行:
explorer "%USERPROFILE%\.dapr"
结果:
下一步: 定义一个组件 >>
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.