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

Docker Compose本地运行的CosmosDB模拟器无法连接,求解决方案

解决Docker Compose运行CosmosDB Linux模拟器(MongoDB兼容版)的连接问题

你的核心问题在于连接字符串格式错误,以及缺少必要的容器配置项,以下是具体解决方案:

1. 修正Docker Compose配置

需要添加关键环境变量,确保模拟器监听所有网络接口并启用正确的认证配置。更新后的docker-compose.yml如下:

version: '3.4'
services:
  local-cosmosdb:
    image: "mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:mongodb"
    container_name: local.cosmosdb
    tty: true
    restart: always
    environment:
      - AZURE_COSMOS_EMULATOR_PARTITION_COUNT=10
      - AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE=true
      - AZURE_COSMOS_EMULATOR_IP_ADDRESS=0.0.0.0  # 让模拟器监听所有接口,外部可访问
      - AZURE_COSMOS_EMULATOR_KEY=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==  # 默认密钥,可自定义
    ports:
      - 8081:8081
      - 10250:10250
      - 10251:10251
      - 10252:10252
      - 10253:10253
      - 10254:10254
      - 10255:10255

2. 使用正确的MongoDB连接字符串

CosmosDB模拟器强制要求SSL连接和认证,正确的连接字符串格式如下:

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&maxIdleTimeMS=120000&appName=@local-cosmosdb@

关键说明:

  • 端口使用10255(MongoDB兼容的默认端口)
  • 必须携带ssl=true参数,模拟器不允许非SSL连接
  • 用户名固定为localhost,密码为配置中指定的AZURE_COSMOS_EMULATOR_KEY
  • replicaSet=globaldb是CosmosDB模拟器的固定副本集名称

3. 容器内部服务连接的注意事项

如果你的应用也在Docker Compose网络中,连接时需要用容器名local.cosmosdb替代localhost,连接字符串示例:

mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@local.cosmosdb:10255/?ssl=true&replicaSet=globaldb&retrywrites=false&maxIdleTimeMS=120000&appName=@local-cosmosdb@

4. 测试连接

可以用mongosh命令快速验证连接:

mongosh "mongodb://localhost:C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==@localhost:10255/?ssl=true&replicaSet=globaldb"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:20:46