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

如何为多容器Linux Web应用从Azure Key Vault设置环境变量?

多容器Linux Web应用从Azure Key Vault设置服务专属环境变量的解决方案

直接在docker-compose.yml里用@Microsoft.KeyVault引用密钥的方式是无效的,Azure不会解析这里的引用,只会把它当作普通字符串返回。正确的做法是分两步走:

步骤1:在App Service应用配置中添加Key Vault引用

先到Azure Portal的App Service应用配置页面,为每个服务需要的密钥创建独立的配置项,值用@Microsoft.KeyVault格式填写:

  • 配置项名称:MY_SERVICE_TEST_KEY,值:@Microsoft.KeyVault(VaultName=my-secret-vault;SecretName=my-secret-key)
  • 配置项名称:SECOND_SERVICE_TEST_KEY,值:@Microsoft.KeyVault(VaultName=my-secret-vault;SecretName=my-second-service-secret-key)

这一步会让Azure在应用启动前自动解析这些引用,把密钥的实际值注入到应用环境变量中。

步骤2:在docker-compose.yml中引用应用配置变量

修改docker-compose.yml,通过环境变量替换语法,把App Service里的配置项传递给对应的服务:

version: "3.9"
services:
  my_service:
    image: <IMAGE_TAG_HERE>
    environment:
      - TEST_KEY=${MY_SERVICE_TEST_KEY}
  my_second_service:
    image: <IMAGE_TAG_HERE>
    environment:
      - SECOND_SERVICE_TEST_KEY=${SECOND_SERVICE_TEST_KEY}

这样部署后,每个服务就能拿到对应Key Vault密钥的实际值了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 09:15:57