Доступ к эмулятору Cosmos db на локальной машине из Linux docker

Доступ к эмулятору Cosmos db на локальной машине из Linux docker

Я немного запутался с Linux docker и эмулятором cosmos db. У меня установлен эмулятор на локальной машине. На моем Windows 10 у меня есть контейнер Linux docker с приложением Web API ASP.NET core. Когда я пытаюсь получить доступ из контейнера к cosmos db, я получаю исключение -> HttpRequestException: Connection denied. В коде C# я получаю необходимые параметры, такие как AuthKey и Uri для базы данных из переменных среды. Похоже, у меня проблема с сетью между контейнером и localhost, но я не могу понять, как их подключить. Ниже приведены файлы 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

решение1

Вам нужно добавитьhttps://host.docker.internal:8081/как конечная точка для эмулятора cosmosdb.

Связанный контент