使用 Docker-Compose 进行 Dapr .NET SDK 开发
学习如何使用 Docker-Compose 进行本地开发
Docker-Compose
将此视为Dapr自托管与Docker指南的.NET指导。
docker-compose
是 Docker Desktop 附带的 CLI 工具,可用于一次运行多个容器。 它是一种将多个容器的生命周期自动化在一起的方法,并为面向 Kubernetes 的应用程序提供了类似于生产环境的开发体验。
- **优点:**由于
docker-compose
为您管理容器,因此您可以将依赖项作为应用程序定义的一部分,并停止在您的机器上长时间运行的容器。 - 缺点: 需要更多投资,服务需要被容器化才能开始使用。
- **缺点:**如果你对Docker不熟悉,可能很难进行调试和故障排除。
使用 Docker-Compose
从 .NET 的角度来看,一起使用 docker-compose
和 Dapr 并不需要专门的指导。 docker-compose
运行容器,一旦您的服务放在容器中,它的配置与其他任何编程技术都是相似的。
💡 App Port
在一个容器中,一个ASP.NET Core应用默认会监听端口80。 记住这个,以备日后需要配置--app-port
时使用。
总结一下方法:
- 为每个服务创建一个
Dockerfile
- 创建一个
docker-compose.yaml
并将其添加到源码仓库中
要了解如何编写 docker-compose.yaml
,请从Hello, docker-compose sample开始。
与本地运行 dapr run
类似,对于每个服务,你需要选择唯一的 app-id。 选择容器的名称作为 app-id,将使其易于记忆。
Compose 文件应至少包含:
- 容器用于通信的网络
- 每个服务的容器
- 一个
<service>-daprd
sidecar 容器,指定了服务的端口和 app-id - 在容器中运行的额外依赖项(例如redis)
- 可选:Dapr placement 容器 (适用于 Actor)
您还可以从eShopOnContainers示例应用程序中查看更大的示例。
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.