如何在 Service Fabric 中指定服务的环境变量

本文演示如何在 Service Fabric 中指定服务或容器的环境变量。

指定服务的环境变量的过程

在此示例中,可以为容器设置环境变量。 本文假设你已有一个应用程序和服务清单。

  1. 打开 ServiceManifest.xml 文件。

  2. CodePackage 元素中,为每个环境变量添加新的 EnvironmentVariables 元素和 EnvironmentVariable 元素。

    <CodePackage Name="MyCode" Version="CodeVersion1">
        ...
        <EnvironmentVariables>
              <EnvironmentVariable Name="MyEnvVariable" Value="DefaultValue"/>
              <EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
        </EnvironmentVariables>
    </CodePackage>
    

    可在应用程序清单中重写环境变量。

  3. 若要替代应用程序清单中的环境变量,请使用 EnvironmentOverrides 元素。

      <ServiceManifestImport>
        <ServiceManifestRef ServiceManifestName="Guest1Pkg" ServiceManifestVersion="1.0.0" />
        <EnvironmentOverrides CodePackageRef="MyCode">
          <EnvironmentVariable Name="MyEnvVariable" Value="OverrideValue"/>
        </EnvironmentOverrides>
      </ServiceManifestImport>
    

使用 Docker Compose 动态指定环境变量

Service Fabric 支持使用 Docker Compose 进行部署的功能。 Compose 文件可以从 shell 获取环境变量。 此行为可用于动态替换所需的环境值:

environment:
  - "hostname:${hostname}"

后续步骤

若要详细了解本文中讨论的一些核心概念,请参阅管理多个环境的应用程序

有关 Visual Studio 中其他可用应用管理功能的信息,请参阅在 Visual Studio 中管理 Service Fabric 应用程序