
Linux docker と cosmos db エミュレーターについて少し混乱しています。ローカル マシンにエミュレーターをインストールしています。Windows 10 には、Web API ASP.NET Core アプリケーションを備えた Linux docker コンテナーがあります。コンテナーから cosmos db にアクセスしようとすると、例外が発生します -> HttpRequestException: 接続が拒否されました。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 エミュレーターへのエンドポイントとして。