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

如何在Docker Compose中用Azurite CLI设置指定CORS规则?非重复问题

在Docker Compose中配置Azurite的CORS规则

注意:此问题并非某Stack Overflow帖子的重复内容。

请问在Docker Compose文件中,执行哪条准确的Azurite CLI命令可以设置如下截图所示的CORS规则?

示例Docker Compose配置:

storageemulator:
  image: "mcr.microsoft.com/azure-storage/azurite:latest"
  command: "azurite --loose"  # 这条命令无法解决我的CORS问题
  container_name: myemulator

Azurite CORS规则截图


解决方案

要配置截图中对应的CORS规则,你可以直接在Docker Compose的command字段中使用Azurite Blob服务的--cors参数,传入匹配规则的JSON配置:

storageemulator:
  image: "mcr.microsoft.com/azure-storage/azurite:latest"
  command: >
    azurite-blob --loose --cors '[{
      "allowedOrigins": ["*"],
      "allowedMethods": ["GET", "HEAD", "PUT", "DELETE", "OPTIONS"],
      "allowedHeaders": ["*"],
      "exposedHeaders": ["*"],
      "maxAgeInSeconds": 3600
    }]'
  container_name: myemulator
  ports:
    - "10000:10000"

参数说明:

  • azurite-blob:指定仅启动Blob存储模拟器(若需同时启动Queue/Table服务,替换为azurite并分别添加--queue-cors/--table-cors参数,格式与--cors一致)
  • --loose:保留你原有的宽松模式配置
  • --cors:传入的JSON数组完全匹配截图中的规则:
    • allowedOrigins: ["*"] 允许所有来源
    • allowedMethods: 包含截图中列出的所有HTTP方法
    • allowedHeaders: ["*"] 允许所有请求头
    • exposedHeaders: ["*"] 暴露所有响应头
    • maxAgeInSeconds: 3600 缓存预检请求结果的时长

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 08:17:20