Acesso ao emulador Cosmos db na máquina local a partir do docker Linux

Acesso ao emulador Cosmos db na máquina local a partir do docker Linux

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.

informação relacionada