
Fiquei um pouco confuso com o docker Linux e o emulador cosmos db. Eu tenho um emulador instalado na minha máquina local. No meu Windows 10, tenho um contêiner docker Linux com aplicativo principal ASP.NET da API da Web. Quando tento obter acesso do contêiner ao cosmos db, recebo uma exceção -> HttpRequestException: Conexão recusada. No código C#, obtenho opções necessárias como AuthKey e Uri para banco de dados a partir de variáveis de ambiente. Parece que tenho um problema de rede entre o contêiner e o host local, mas não consigo entender como posso conectá-los. Abaixo são fornecidos os arquivos docker-compose.yml e 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
Responder1
Você precisa adicionarhttps://host.docker.internal:8081/como ponto final para o emulador cosmosdb.