【发布时间】:2019-07-02 22:26:59
【问题描述】:
我对 Linux docker 和 cosmos db 模拟器有点困惑。我在本地机器上安装了一个模拟器。在我的 Windows 10 上,我有一个带有 Web API ASP.NET 核心应用程序的 Linux docker 容器。当我尝试从容器访问 cosmos db 时,我得到一个异常 - > HttpRequestException:连接被拒绝。
在 C# 代码中,我从环境变量中获取数据库所需的选项,例如 AuthKey 和 Uri。看起来我在容器和本地主机之间的网络有问题,但我不明白如何连接这些。
下面提供了 docker-compose.yml 和 docker-compose.override.yml 文件。
event.webapi:
container_name: event.webapi
image: '${DOCKER_REGISTRY-}eventwebapi'
environment:
**- AzureCollectionName=Events
- AzureDatabaseName=EventsDatabase**
build:
context: .
dockerfile: src/Services/Event/Event.WebApi/Dockerfile
``` docker-compose.override.yml
event.webapi:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_HTTPS_PORT=44378
**- AzureEndpointUri=https://127.0.0.1:8081
-AzurePrimaryKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==**
ports:
- "53753:80"
- "44378:443"
volumes:
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
【问题讨论】:
标签: docker asp.net-web-api docker-compose azure-cosmosdb docker-for-windows