我正在尝试在 Azure 应用服务中运行 KrakenD 映像。
KrakenD 需要将 json 配置文件 krakend.json 放入 /etc/krakend/(KrakenD 映像基于 Linux Alpine)
我使用以下 docker-compose 文件为容器创建了 Web App:
version: "3"
services:
krakend:
image: devopsfaith/krakend:latest
volumes:
- ${WEBAPP_STORAGE_HOME}/site/krakend:/etc/krakend
ports:
- "8080:8080"
restart: always
Run Code Online (Sandbox Code Playgroud)
添加了带有 blob 容器的存储帐户,其中上传了示例 kraken.json 文件

在应用程序配置中,我添加了一个这样的路径映射:
但看起来卷没有正确安装
2019-11-15 12:46:29.368 错误 - krakend_krakend_0_3032a936 的容器创建失败,出现 System.AggregateException,发生一个或多个错误。(Docker API 响应状态码=InternalServerError, response={"message":"invalid volume specification: ':/etc/krakend'"} )(Docker API 响应状态码=InternalServerError, response={"message":"无效的卷规范:':/etc/krakend'"}) InnerException: Docker.DotNet.DockerApiException,Docker API 响应状态码=InternalServerError,响应={"message":"无效的卷规范:':/etc/krakend' "}
2019-11-15 12:46:29.369 错误 - 多容器单元未成功启动
其他问题
我找到了 2 个官方包
此客户端库使面向 .NET Core 的客户端应用程序能够通过 DocumentDB (SQL) API 连接到 Azure Cosmos DB。
对于这个包,还发现了带有 ORM 支持Cosmoaut 的很棒的 SDK
此客户端库使客户端应用程序能够通过SQL API连接到 Azure Cosmos 。
据我了解,第一个适用于以前使用过 Azure Document DB 的人,因此这种迁移包和第二个更适合新项目。
问题是我们在 2 周前开始使用第一个进行开发,但看起来 Microsoft.Azure.Cosmos 客户端 api 设计得更好一点,并且使用它比 DocumentDB 客户端更方便。
我是否正确,对于新项目,使用 Microsoft.Azure.Cosmos 客户端而不是 Microsoft.Azure.DocumentDB 客户端会更方便吗?