我有一个 .NET 6 API(在 Docker 中运行)和 Azurite(在 Docker 中运行)。
我正在尝试使用 .NET SDK 从 .NET 应用程序连接到 Azurite,但在 Docker 日志中出现以下错误:
System.AggregateException:6 次尝试后重试失败。可以在 ClientOptions.Retry 中调整重试设置。(连接被拒绝 (azurite:10000)) (连接被拒绝 (azurite:10000)) (连接被拒绝 (azurite:10000)) (连接被拒绝 (azurite:10000)) (连接被拒绝 (azurite:10000)) (连接被拒绝 (azurite :10000))
它在第二行(CreateIfNotExists()
)上死了:
_blobContainerClient = new BlobContainerClient(connectionString, containerName);
_blobContainerClient.CreateIfNotExists();
这是我的 .NET 应用程序中的连接字符串:
"Azure": {
"StorageConnectionString": "UseDevelopmentStorage=true"
}
这是我的docker-compose.yml
文件:
version: '3.4'
services:
api:
image: ${DOCKER_REGISTRY-}api
container_name: aft-backend-api
build:
context: src
dockerfile: API/Dockerfile
networks:
- aft-backend
environment:
- ASPNETCORE_URLS=http://+:5000
- Azure__StorageConnectionString=UseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://azurite;
depends_on:
- azurite
azurite:
image: mcr.microsoft.com/azure-storage/azurite
container_name: aft-backend-azurite
hostname: azurite
restart: always
command: 'azurite --blobHost 127.0.0.1 --blobPort 10000 --queueHost 127.0.0.1 --queuePort 10001'
ports:
- 10000:10000
- 10001:10001
networks:
- aft-backend
networks:
aft-backend:
name: aft-backend-network
注意事项:
- 我正在使用
environment
变量覆盖撰写文件中的连接字符串 - 我已将 设置
DevelopmentStorageProxyUri
为主机名(蓝铜矿) - 我
depends_on
用来确保 Azurite 在 API 之前启动
我注意到这个类似的问题,但是它似乎已经过时并且没有明确的答案。
任何人都可以帮忙吗?
提前致谢。