带有 docker-compose 的 CosmosDb 模拟器

CosmosDb Emulator with docker-compose

我可以在 docker-compose 中成功启动一个 CosmosDb 模拟器实例,但我尝试播种的数据有超过 25 个静态容器,这超出了默认模拟器允许的数量。根据 https://docs.microsoft.com/en-us/azure/cosmos-db/emulator-command-line-parameters#set-partitioncount,您可以使用参数将此分区计数设置得更高,但我无法在接受该参数的组合中找到合适的入口点。

我在搜索中没有发现任何可以对此提供任何见解的东西,因为大多数人要么没有使用 compose,要么甚至没有使用 Docker 作为他们的 Cosmos 模拟器实例。任何见解将不胜感激。

这是我的 CosmosDb docker-compose.yml

services:
  cosmosdb:
    container_name: "azurecosmosemulator"
    hostname: "azurecosmosemulator"
    image: 'mcr.microsoft.com/cosmosdb/windows/azure-cosmos-emulator'
    platform: windows
    tty: true
    mem_limit: 2GB
    ports:
      - '8081:8081'
      - '8900:8900'
      - '8901:8901'
      - '8902:8902'
      - '10250:10250'
      - '10251:10251'
      - '10252:10252'
      - '10253:10253'
      - '10254:10254'
      - '10255:10255'
      - '10256:10256'
      - '10350:10350'
    networks:
      default:
        ipv4_address: 172.16.238.246
    volumes:
      - '${hostDirectory}:C:\CosmosDB.Emulator\bind-mount'

我试图在其中添加一个命令来启动容器,但它不接受我尝试过的任何参数。

我对此的回答是变通。最终,并排 运行ning windows 和 linux 容器是一个相当大的痛苦。最近,Microsoft 推出了一个 linux 容器版本的模拟器,它允许我为分区计数提供一个环境变量,并且 运行 这个过程更加高效。

此处参考:https://docs.microsoft.com/en-us/azure/cosmos-db/linux-emulator?tabs=ssl-netstd21