如何将Azure App Service中Docker部署的Qdrant数据存储至Azure Blob/文件共享?
解决Azure App Service中Qdrant容器数据持久化问题
方案一:使用Azure文件共享(推荐,配置简单)
- 创建Azure文件共享
登录Azure门户,创建或选择现有存储账户,在账户内新建文件共享并设置合理配额。 - 挂载文件共享到App Service
进入目标App Service,左侧导航选择「配置」→「路径映射」→「添加映射」:- 虚拟路径:填写
/qdrant/storage(匹配Qdrant默认数据存储路径) - 存储类型:选择「Azure文件存储」
- 关联存储账户、文件共享,并填入存储账户访问密钥
- 虚拟路径:填写
- 配置Qdrant启动参数
在App Service「配置」→「常规设置」的「启动命令」中设置:
或通过添加环境变量./qdrant --storage-path /qdrant/storageQDRANT_STORAGE_PATH=/qdrant/storage实现相同效果。 - 验证
重启App Service,创建集合并插入测试数据,再次重启后检查数据是否保留。
方案二:使用Azure Blob存储(Qdrant云存储原生支持)
Qdrant可直接将数据写入Azure Blob,需配置对应环境变量:
- 准备Blob存储信息
获取目标存储账户的连接字符串,提前创建好用于存储Qdrant数据的Blob容器。 - 配置App Service环境变量
在「配置」→「应用程序设置」中添加以下变量:QDRANT_STORAGE_BACKEND=azureAZURE_STORAGE_CONNECTION_STRING=<你的存储账户连接字符串>AZURE_STORAGE_CONTAINER=<Blob容器名称>- 可选:
AZURE_STORAGE_PREFIX=<自定义前缀,用于区分多实例数据>
- 生效验证
重启App Service后,Qdrant会自动将数据写入Blob存储,重启后数据不会丢失。
常见排查点
- 检查路径映射的虚拟路径与Qdrant存储路径是否完全一致,避免拼写错误
- 确认Azure文件共享/Blob容器的读写权限配置正确,App Service拥有访问权限
- 核对环境变量值,尤其是Blob连接字符串不要包含多余空格或格式错误
- 确保使用的Qdrant镜像版本≥v1.5.0(该版本后云存储支持更稳定)
内容的提问来源于stack exchange,提问作者Maks Bubela
相关产品推荐
相关产品推荐

