Partilhar via


Exemplos de manifesto e aplicação e serviço de múltiplos contentores

A seguir estão exemplos dos manifestos de aplicativo e serviço para um aplicativo Service Fabric de vários contêineres. O objetivo destes exemplos é mostrar quais configurações estão disponíveis e como usá-las. Esses manifestos de aplicativo e serviço são baseados nos manifestos de exemplo de contêiner do Windows Server 2016.

Os seguintes recursos são mostrados:

Manifesto Funcionalidades
Manifesto da aplicação substituir variáveis de ambiente, configurar mapeamento de porta para host de contêiner, configurar autenticação de registro de contêiner, governança de recursos, definir modo de isolamento, especificar imagens de contêiner específicas de construção do sistema operacional
Manifesto do serviço FrontEndService definir variáveis de ambiente, configurar um ponto de extremidade, passar comandos para o contêiner, importar um certificado para um contêiner
Manifesto do serviço BackEndService definir variáveis de ambiente, configurar um ponto de extremidade, configurar driver de volume

Consulte Elementos de manifesto de aplicativo, elementos de manifesto de serviço FrontEndService e elementos de manifesto de serviço BackEndService para obter mais informações sobre elementos XML específicos.

Manifesto de aplicação

<?xml version="1.0" encoding="utf-8"?>
<ApplicationManifest ApplicationTypeName="Container.ApplicationType"
                     ApplicationTypeVersion="1.0.0"
                     xmlns="http://schemas.microsoft.com/2011/01/fabric"
                     xmlns:xsd="https://www.w3.org/2001/XMLSchema"
                     xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
  <Parameters>
    <Parameter Name="BackEndService_InstanceCount" DefaultValue="-1" />
    <Parameter Name="FrontEndService_InstanceCount" DefaultValue="-1" />
    <Parameter Name="CpuCores" DefaultValue="2" />
    <Parameter Name="BlockIOWeight" DefaultValue="200" />
    <Parameter Name="MaximumIOBandwidth" DefaultValue="1024" />
    <Parameter Name="MemoryReservationInMB" DefaultValue="1024" />
    <Parameter Name="MemorySwapInMB" DefaultValue="4084"/>
    <Parameter Name="MaximumIOps" DefaultValue="20"/>
    <Parameter Name="MemoryFront" DefaultValue="4084" />
    <Parameter Name="MemoryBack" DefaultValue="2048" />
    <Parameter Name="CertThumbprint" DefaultValue=""/>
  </Parameters>
  <!-- Import the ServiceManifest from the ServicePackage. The ServiceManifestName and ServiceManifestVersion 
       should match the Name and Version attributes of the ServiceManifest element defined in the 
       ServiceManifest.xml file. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="BackEndServicePkg" ServiceManifestVersion="1.0.0" />    
    
    <!-- Policies to be applied to the imported service manifest. -->
    <Policies>
      <!-- Set resource governance at the service package level. -->
      <ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryFront]"/>

      <!-- Set resource governance at the code package level. -->
      <ResourceGovernancePolicy CodePackageRef="Code" CpuPercent="10" MemoryInMB="[MemoryFront]" BlockIOWeight="[BlockIOWeight]" MaximumIOBandwidth="[MaximumIOBandwidth]" MaximumIOps="[MaximumIOps]" MemoryReservationInMB="[MemoryReservationInMB]" MemorySwapInMB="[MemorySwapInMB]"/>
      
      <!-- Policies for activating container hosts. -->
      <ContainerHostPolicies CodePackageRef="Code" Isolation="process">
        
        <!-- Credentials for the repository hosting the container image.-->
        <RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>
        
        <!-- This binds the port the container is listening on (8905 in this sample) to an endpoint resource named "BackEndServiceTypeEndpoint", which is defined in the service manifest.  -->
        <PortBinding ContainerPort="8905" EndpointRef="BackEndServiceTypeEndpoint"/>
        
        <!-- Configure the Azure Files volume plugin.  Bind the source folder on the host VM or a remote share to the destination folder within the running container. -->
        <Volume Source="azfiles" Destination="c:\VolumeTest\Data" Driver="sfazurefile">
          <!-- Driver options to be passed to driver. The Azure Files volume plugin supports the following driver options:
            shareName (the Azure Files file share that provides the volume for the container), storageAccountName (the Azure storage account
            that contains the Azure Files file share), storageAccountKey (Access key for the Azure storage account that contains the Azure Files file share).
            These three driver options are required. -->
          <DriverOption Name="shareName" Value="" />
          <DriverOption Name="storageAccountName" Value="MY-STORAGE-ACCOUNT-NAME" />
          <DriverOption Name="storageAccountKey" Value="MY-STORAGE-ACCOUNT-KEY" />
        </Volume>
        
        <!-- Windows Server containers may not be compatible across different versions of the OS.  You can specify multiple OS images per container and tag 
        them with the build versions of the OS. Get the build version of the OS by running "winver" at a Windows command prompt. -->
        <ImageOverrides>
          <!-- If the underlying OS is build version 16299 (Windows Server version 1709), Service Fabric picks the container image tagged with Os="16299". -->
          <Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_1709" Os="16299" />
          
          <!-- An untagged container image is assumed to work across all versions of the OS and overrides the image specified in the service manifest. -->
          <Image Name="sfsamples.azurecr.io/sfsamples/servicefabricbackendservice_default" />          
        </ImageOverrides>
      </ContainerHostPolicies>
    </Policies>
  </ServiceManifestImport>

  <!-- Policies to be applied to the imported service manifest. -->
  <ServiceManifestImport>
    <ServiceManifestRef ServiceManifestName="FrontEndServicePkg" ServiceManifestVersion="1.0.0" />
    
    <!-- This enables you to provide different values for environment variables when creating a FrontEndService
         Theses environment variables are declared in the FrontEndServiceType service manifest-->
    <EnvironmentOverrides CodePackageRef="Code">
      <EnvironmentVariable Name="BackendServiceName" Value="Container.Application/BackEndService"/>
      <EnvironmentVariable Name="HttpGatewayPort" Value="19080"/>
      <EnvironmentVariable Name="IsContainer" Value="true"/>
    </EnvironmentOverrides>
    
    <!-- This policy maps the  port of the container (80) to the endpoint declared in the service, 
         FrontEndServiceTypeEndpoint which is exposed as port 80 on the host-->    
    <Policies>

      <!-- Set resource governance at the service package level. -->
      <ServicePackageResourceGovernancePolicy CpuCores="[CpuCores]" MemoryInMB="[MemoryBack]"/>

      <!-- Policies for activating container hosts. -->
      <ContainerHostPolicies CodePackageRef="Code" Isolation="process">

        <!-- Credentials for the repository hosting the container image.-->
        <RepositoryCredentials AccountName="sfsamples" Password="ENCRYPTED-PASSWORD" PasswordEncrypted="true"/>

        <!-- Binds an endpoint resource (declared in the service manifest) to the exposed container port. -->
        <PortBinding ContainerPort="80" EndpointRef="FrontEndServiceTypeEndpoint"/>

        <!-- Import a certificate into the container.  The certificate must be installed in the LocalMachine store of all the cluster nodes.
          When the application starts, the runtime reads the certificate and generates a PFX file and password (on Windows) or a PEM file (on Linux).
          The PFX file and password are accessible in the container using the Certificates_ServicePackageName_CodePackageName_CertName_PFX and 
          Certificates_ServicePackageName_CodePackageName_CertName_Password environment variables. The PEM file is accessible in the container using the 
          Certificates_ServicePackageName_CodePackageName_CertName_PEM and Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey environment variables.-->
        <CertificateRef Name="MyCert1" X509StoreName="My" X509FindValue="[CertThumbprint]" />

        <!-- If the certificate is already in PFX or PEM form, you can create a data package inside your application and reference that certificate here. -->
        <CertificateRef Name="MyCert2" DataPackageRef="Data" DataPackageVersion="1.0.0" RelativePath="MyCert2.PFX" Password="ENCRYPTED-PASSWORD" IsPasswordEncrypted="true"/>
      </ContainerHostPolicies>
    </Policies>
  </ServiceManifestImport>
  
  <DefaultServices>
    <!-- The section below creates instances of service types, when an instance of this 
         application type is created. You can also create one or more instances of service type using the 
         ServiceFabric PowerShell module.
         
         The attribute ServiceTypeName below must match the name defined in the imported ServiceManifest.xml file. -->
        
    <Service Name="FrontEndService" >
      <StatelessService ServiceTypeName="FrontEndServiceType" InstanceCount="[FrontEndService_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
        <Service Name="BackEndService" ServicePackageActivationMode="ExclusiveProcess">
      <StatelessService ServiceTypeName="BackEndServiceType" InstanceCount="[BackEndService_InstanceCount]">
        <SingletonPartition />
      </StatelessService>
    </Service>
  </DefaultServices>
</ApplicationManifest>

Manifesto do serviço FrontEndService

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="FrontEndServicePkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="https://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType.
         The UseImplicitHost attribute indicates this is a guest service. -->
    <StatelessServiceType ServiceTypeName="FrontEndServiceType" UseImplicitHost="true" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ContainerHost>
        <!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
        <ImageName>sfsamples.azurecr.io/sfsamples/servicefabricfrontendservice:v1</ImageName>
      </ContainerHost>
    </EntryPoint>
    <!-- Pass environment variables to your container or exe.  These variables are overridden in the application manifest. -->
    <EnvironmentVariables>
      <EnvironmentVariable Name="BackendServiceName" Value=""/>
      <EnvironmentVariable Name="HttpGatewayPort" Value=""/>
      <EnvironmentVariable Name="IsContainer" Value=""/>
    </EnvironmentVariables>
  </CodePackage>

  <!-- Config package is the contents of the Config directory under PackageRoot that contains an 
       independently-updateable and versioned set of custom configuration settings for your service. -->
  <ConfigPackage Name="Config" Version="1.0.0" />
  
  <!-- Data package is the contents of the Data directory under PackageRoot that contains an 
       independently-updateable and versioned static data that's consumed by the process at runtime. -->
  <DataPackage Name="Data" Version="1.0.0"/>

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. For a guest executable is used to register with the NamingService at its REST endpoint
           with http scheme and port 80 -->
      <Endpoint Name="FrontEndServiceTypeEndpoint" UriScheme="http" Port="80"/>
    </Endpoints>
  </Resources>
</ServiceManifest>

Manifesto do serviço BackEndService

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest Name="BackEndServicePkg"
                 Version="1.0.0"
                 xmlns="http://schemas.microsoft.com/2011/01/fabric"
                 xmlns:xsd="https://www.w3.org/2001/XMLSchema"
                 xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance">
  <ServiceTypes>
    <!-- This is the name of your ServiceType.
         The UseImplicitHost attribute indicates this is a guest service. -->
    <StatelessServiceType ServiceTypeName="BackEndServiceType" UseImplicitHost="true" />
  </ServiceTypes>

  <!-- Code package is your service executable. -->
  <CodePackage Name="Code" Version="1.0.0">
    <EntryPoint>
      <ContainerHost>
        <!--The repo and image on https://hub.docker.com or Azure Container Registry. -->
        <ImageName>sfsamples.azurecr.io/sfsamples/servicefabricbackendservice:v1</ImageName>
        
        <!-- Pass comma delimited commands to your container. -->
        <Commands> dotnet, myproc.dll, 5 </Commands>
      </ContainerHost>
    </EntryPoint>
    <!-- Pass environment variables to your container. These variables are overridden in the application manifest. -->
    <EnvironmentVariables>
      <EnvironmentVariable Name="IsContainer" Value="true"/>
    </EnvironmentVariables>
  </CodePackage>

  <!-- Config package is the contents of the Config directory under PackageRoot that contains an 
       independently-updateable and versioned set of custom configuration settings for your service. -->
  <ConfigPackage Name="Config" Version="1.0.0" />

  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the host port on which to 
           listen. For a guest executable is used to register with the NamingService at its REST endpoint
           with http scheme. In this case since no port is specified, one is created and assigned dynamically
           to the service. This dynamically assigned host port is mapped to the container port (8905 in this sample),
            which was specified in the application manifest.-->
      <Endpoint Name="BackEndServiceTypeEndpoint" UriScheme="http" />
    </Endpoints>
  </Resources>
</ServiceManifest>

Elementos do manifesto do aplicativo

Elemento ApplicationManifest

Descreve declarativamente o tipo e a versão do aplicativo. Um ou mais manifestos de serviço dos serviços constituintes são referenciados para compor um tipo de aplicativo. As definições de configuração dos serviços constituintes podem ser substituídas usando configurações de aplicativo parametrizadas. Serviços padrão, modelos de serviço, entidades de segurança, políticas, configuração de diagnóstico e certificados também podem ser declarados no nível do aplicativo. Para obter mais informações, consulte Elemento ApplicationManifest

Elemento Parâmetros

Declara os parâmetros que são usados neste manifesto do aplicativo. O valor desses parâmetros pode ser fornecido quando o aplicativo é instanciado e pode ser usado para substituir as definições de configuração do aplicativo ou serviço. Para obter mais informações, consulte Elemento de parâmetros

Elemento de parâmetro

Um parâmetro de aplicação a ser usado neste manifesto. O valor do parâmetro pode ser alterado durante a instanciação do aplicativo ou, se nenhum valor for fornecido, o valor padrão será usado. Para obter mais informações, consulte Elemento de parâmetro

Elemento ServiceManifestImport

Importa um manifesto de serviço criado pelo desenvolvedor do serviço. Um manifesto de serviço deve ser importado para cada serviço constituinte no aplicativo. Substituições de configuração e políticas podem ser declaradas para o manifesto de serviço. Para obter mais informações, consulte Elemento ServiceManifestImport

Elemento ServiceManifestRef

Importa o manifesto do serviço por referência. Atualmente, o arquivo de manifesto de serviço (ServiceManifest.xml) deve estar presente no pacote de compilação. Para obter mais informações, consulte Elemento ServiceManifestRef

Elemento Políticas

Descreve as políticas (vinculação de ponto de extremidade, compartilhamento de pacotes, run-as e acesso de segurança) a serem aplicadas no manifesto de serviço importado. Para obter mais informações, consulte Elemento Políticas

Elemento ServicePackageResourceGovernancePolicy

Define a política de governança de recursos que é aplicada no nível de todo o pacote de serviços. Para obter mais informações, consulte Elemento ServicePackageResourceGovernancePolicy

Elemento ResourceGovernancePolicy

Especifica limites de recursos para um pacote de código. Para obter mais informações, consulte Elemento ResourceGovernancePolicy

Elemento ContainerHostPolicies

Especifica políticas para ativar hosts de contêiner. Para obter mais informações, consulte Elemento ContainerHostPolicies

Elemento RepositoryCredentials

Credenciais para repositório de imagens de contêiner para extrair imagens. Para obter mais informações, consulte RepositoryCredentials Element

Elemento PortBinding

Especifica qual recurso de ponto de extremidade deve ser vinculado à porta de contêiner exposta. Para obter mais informações, consulte Elemento PortBinding

Elemento Volume

Especifica o volume a ser vinculado ao contêiner. Para obter mais informações, consulte Elemento de volume

Elemento DriverOption

Opções de driver a serem passadas para o motorista. Para obter mais informações, consulte DriverOption Element

Elemento ImageOverrides

Os contêineres do Windows Server podem não ser compatíveis entre diferentes versões do sistema operacional. Você pode especificar várias imagens do sistema operacional por contêiner e marcá-las com as versões de compilação do sistema operacional. Obtenha a versão de compilação do sistema operacional executando "winver" em um prompt de comando do Windows. Se o sistema operacional subjacente for a compilação versão 16299 (Windows Server versão 1709), o Service Fabric selecionará a imagem do contêiner marcada com Os="16299". Presume-se que uma imagem de contêiner não marcada funcione em todas as versões do sistema operacional e substitui a imagem especificada no manifesto do serviço. Para obter mais informações, consulte ImageOverrides Element

Elemento de imagem

Imagem de contêiner correspondente ao número da versão de compilação do sistema operacional a ser iniciada. Se o atributo OS não for especificado, presume-se que a imagem do contêiner funcione em todas as versões do sistema operacional e substituirá a imagem especificada no manifesto do serviço. Para obter mais informações, consulte Elemento de imagem

Elemento EnvironmentOverrides

Para obter mais informações, consulte Elemento EnvironmentOverrides

Elemento EnvironmentVariable

Ambiente variável. Para obter mais informações, consulte Elemento EnvironmentVariable

Elemento CertificateRef

Especifica informações sobre um certificado X509 que deve ser exposto ao ambiente de contêiner. O certificado deve ser instalado no armazenamento LocalMachine de todos os nós do cluster. Quando o aplicativo é iniciado, o tempo de execução lê o certificado e gera um arquivo PFX e senha (no Windows) ou um arquivo PEM (no Linux). O arquivo PFX e a senha são acessíveis no contêiner usando as variáveis de ambiente Certificates_ServicePackageName_CodePackageName_CertName_PFX e Certificates_ServicePackageName_CodePackageName_CertName_Password. O arquivo PEM é acessível no contêiner usando as variáveis de ambiente Certificates_ServicePackageName_CodePackageName_CertName_PEM e Certificates_ServicePackageName_CodePackageName_CertName_PrivateKey. Para obter mais informações, consulte Elemento CertificateRef

Elemento DefaultServices

Declara instâncias de serviço que são criadas automaticamente sempre que um aplicativo é instanciado em relação a esse tipo de aplicativo. Para obter mais informações, consulte Elemento DefaultServices

Elemento de serviço

Declara um serviço a ser criado automaticamente quando o aplicativo é instanciado. Para obter mais informações, consulte Elemento de serviço

Elemento StatelessService

Define um serviço sem monitoração de estado. Para obter mais informações, consulte StatelessService Element

Elementos de manifesto do serviço FrontEndService

Elemento ServiceManifest

Descreve declarativamente o tipo de serviço e a versão. Ele lista o código, a configuração e os pacotes de dados atualizáveis independentemente que, juntos, compõem um pacote de serviço para oferecer suporte a um ou mais tipos de serviço. Recursos, configurações de diagnóstico e metadados de serviço, como tipo de serviço, propriedades de integridade e métricas de balanceamento de carga, também são especificados. Para obter mais informações, consulte Elemento ServiceManifest

Elemento ServiceTypes

Define quais tipos de serviço são suportados por um CodePackage neste manifesto. Quando um serviço é instanciado em relação a um desses tipos de serviço, todos os pacotes de código declarados neste manifesto são ativados executando seus pontos de entrada. Os tipos de serviço são declarados no nível do manifesto e não no nível do pacote de código. Para obter mais informações, consulte Elemento ServiceTypes

Elemento StatelessServiceType

Descreve um tipo de serviço sem monitoração de estado. Para obter mais informações, consulte StatelessServiceType Element

Elemento CodePackage

Descreve um pacote de código que suporta um tipo de serviço definido. Quando um serviço é instanciado em relação a um desses tipos de serviço, todos os pacotes de código declarados neste manifesto são ativados executando seus pontos de entrada. Espera-se que os processos resultantes registrem os tipos de serviço suportados em tempo de execução. Quando há vários pacotes de código, todos eles são ativados sempre que o sistema procura qualquer um dos tipos de serviço declarados. Para obter mais informações, consulte CodePackage Element

Elemento EntryPoint

O executável especificado pelo EntryPoint é normalmente o host de serviço de longa execução. A presença de um ponto de entrada de configuração separado evita ter que executar o host de serviço com altos privilégios por longos períodos de tempo. O executável especificado por EntryPoint é executado depois que SetupEntryPoint é encerrado com êxito. O processo resultante é monitorado e reiniciado (começando novamente com SetupEntryPoint) se ele terminar ou falhar. Para obter mais informações, consulte Elemento EntryPoint

Elemento ContainerHost

Para obter mais informações, consulte ContainerHost Element

Elemento ImageName

O repositório e a imagem no https://hub.docker.com Registro de Contêiner do Azure. Para obter mais informações, consulte Elemento ImageName

Elemento EnvironmentVariables

Passe variáveis de ambiente para seu contêiner ou exe. Para obter mais informações, consulte Elemento EnvironmentVariables

Elemento EnvironmentVariable

Ambiente variável. Para obter mais informações, consulte Elemento EnvironmentVariable

Elemento ConfigPackage

Declara uma pasta, nomeada pelo atributo Name, que contém um arquivo Settings.xml. Esse arquivo contém seções de configurações de par chave-valor definidas pelo usuário que o processo pode ler de volta em tempo de execução. Durante uma atualização, se apenas a versão do ConfigPackage tiver sido alterada, o processo em execução não será reiniciado. Em vez disso, um retorno de chamada notifica o processo de que as definições de configuração foram alteradas para que possam ser recarregadas dinamicamente. Para obter mais informações, consulte ConfigPackage Element

Elemento DataPackage

Declara uma pasta, nomeada pelo atributo Name, que contém arquivos de dados estáticos. O Service Fabric reciclará todos os EXEs e DLLHOSTs especificados no host e nos pacotes de suporte quando qualquer um dos pacotes de dados listados no manifesto de serviço for atualizado. Para obter mais informações, consulte DataPackage Element

Elemento Recursos

Descreve os recursos usados por esse serviço, que podem ser declarados sem modificar o código compilado e alterados quando o serviço é implantado. O acesso a esses recursos é controlado por meio das seções Entidades e Políticas do manifesto do aplicativo. Para obter mais informações, consulte Elemento Recursos

Elemento de pontos de extremidade

Define pontos de extremidade para o serviço. Para obter mais informações, consulte Elemento de pontos de extremidade

Elemento Endpoint

Para obter mais informações, consulte Elemento de ponto de extremidade

Elementos de manifesto do serviço BackEndService

Elemento ServiceManifest

Descreve declarativamente o tipo de serviço e a versão. Ele lista o código, a configuração e os pacotes de dados atualizáveis independentemente que, juntos, compõem um pacote de serviço para oferecer suporte a um ou mais tipos de serviço. Recursos, configurações de diagnóstico e metadados de serviço, como tipo de serviço, propriedades de integridade e métricas de balanceamento de carga, também são especificados. Para obter mais informações, consulte Elemento ServiceManifest

Elemento ServiceTypes

Define quais tipos de serviço são suportados por um CodePackage neste manifesto. Quando um serviço é instanciado em relação a um desses tipos de serviço, todos os pacotes de código declarados neste manifesto são ativados executando seus pontos de entrada. Os tipos de serviço são declarados no nível do manifesto e não no nível do pacote de código. Para obter mais informações, consulte Elemento ServiceTypes

Elemento StatelessServiceType

Descreve um tipo de serviço sem monitoração de estado. Para obter mais informações, consulte StatelessServiceType Element

Elemento CodePackage

Descreve um pacote de código que suporta um tipo de serviço definido. Quando um serviço é instanciado em relação a um desses tipos de serviço, todos os pacotes de código declarados neste manifesto são ativados executando seus pontos de entrada. Espera-se que os processos resultantes registrem os tipos de serviço suportados em tempo de execução. Quando há vários pacotes de código, todos eles são ativados sempre que o sistema procura qualquer um dos tipos de serviço declarados. Para obter mais informações, consulte CodePackage Element

Elemento EntryPoint

O executável especificado pelo EntryPoint é normalmente o host de serviço de longa execução. A presença de um ponto de entrada de configuração separado evita ter que executar o host de serviço com altos privilégios por longos períodos de tempo. O executável especificado por EntryPoint é executado depois que SetupEntryPoint é encerrado com êxito. O processo resultante é monitorado e reiniciado (começando novamente com SetupEntryPoint) se ele terminar ou falhar. Para obter mais informações, consulte Elemento EntryPoint

Elemento ContainerHost

Para obter mais informações, consulte ContainerHost Element

Elemento ImageName

O repositório e a imagem no https://hub.docker.com Registro de Contêiner do Azure. Para obter mais informações, consulte Elemento ImageName

Elemento Comandos

Passe uma lista delimitada por vírgulas de comandos para o contêiner. Para obter mais informações, consulte Elemento de comandos

Elemento EnvironmentVariables

Passe variáveis de ambiente para seu contêiner ou exe. Para obter mais informações, consulte Elemento EnvironmentVariables

Elemento EnvironmentVariable

Ambiente variável. Para obter mais informações, consulte Elemento EnvironmentVariable

Elemento ConfigPackage

Declara uma pasta, nomeada pelo atributo Name, que contém um arquivo Settings.xml. Esse arquivo contém seções de configurações de par chave-valor definidas pelo usuário que o processo pode ler de volta em tempo de execução. Durante uma atualização, se apenas a versão do ConfigPackage tiver sido alterada, o processo em execução não será reiniciado. Em vez disso, um retorno de chamada notifica o processo de que as definições de configuração foram alteradas para que possam ser recarregadas dinamicamente. Para obter mais informações, consulte ConfigPackage Element

Elemento Recursos

Descreve os recursos usados por esse serviço, que podem ser declarados sem modificar o código compilado e alterados quando o serviço é implantado. O acesso a esses recursos é controlado por meio das seções Entidades e Políticas do manifesto do aplicativo. Para obter mais informações, consulte Elemento Recursos

Elemento de pontos de extremidade

Define pontos de extremidade para o serviço. Para obter mais informações, consulte Elemento de pontos de extremidade

Elemento Endpoint

Para obter mais informações, consulte Elemento de ponto de extremidade