Linux Docker에서 로컬 머신의 Cosmos db 에뮬레이터에 액세스

Linux Docker에서 로컬 머신의 Cosmos db 에뮬레이터에 액세스

나는 Linux docker 및 cosmos db 에뮬레이터와 거의 혼동하지 않았습니다. 내 로컬 컴퓨터에 에뮬레이터가 설치되어 있습니다. 내 Windows 10에는 Web API ASP.NET 핵심 애플리케이션이 포함된 Linux Docker 컨테이너가 있습니다. 컨테이너에서 코스모스 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

답변1

당신은 추가해야합니다https://host.docker.internal:8081/cosmosdb 에뮬레이터의 끝점으로 사용됩니다.

관련 정보