
나는 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 에뮬레이터의 끝점으로 사용됩니다.