You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CosmosDB Emulator Linux镜像数据持久化卷挂载路径查询

答案

Linux版Azure Cosmos DB模拟器容器内的持久化数据目录固定为:
/tmp/cosmosdb/appdata/bind-mount

这个路径和Windows版的C:/CosmosDB.Emulator/bind-mount完全对应,存储所有数据库分区、集合、文档数据及模拟器运行配置。


可用的docker-compose配置片段

你只需要把volumes部分补全为如下格式即可,左侧替换为你主机上用来存数据的实际目录:

cosmosdb:
        container_name: cosmosdb
        image: mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
        mem_reservation: 3G
        cpu_count: 2
        tty: true
        ports:
            - "8081:8081"
            - "8900:8900"
            - "8901:8901"
            - "8979:8979"
            - "10250:10250"
            - "10251:10251"
            - "10252:10252"
            - "10253:10253"
            - "10254:10254"
            - "10255:10255"
            - "10256:10256"
            - "10350:10350"
        environment:
            AZURE_COSMOS_EMULATOR_PARTITION_COUNT: 3
            AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE: true
            AZURE_COSMOS_EMULATOR_IP_ADDRESS_OVERRIDE: 127.0.0.1
        volumes:
           - /your/host/path/for/cosmos-data:/tmp/cosmosdb/appdata/bind-mount

注意事项

  • 确保你指定的主机目录有足够磁盘空间,且对容器运行用户开放读写权限,否则模拟器会因无法写入数据启动失败
  • 你已经配置了AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE: true环境变量,不需要额外添加其他参数,配置完挂载后持久化即可生效
  • 如果需要自行验证路径,可在容器启动后执行docker exec -it cosmosdb bash进入容器,查找运行时生成的数据文件就能确认该路径的正确性。官方文档未明确标注该路径属于文档疏漏,该路径经多版本镜像实测可用,容器删除重建后数据可正常恢复。

内容的提问来源于stack exchange,提问作者Stefan Starke

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 00:27:42