Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:Implantações de imagem docker

Última atualização: Jul 04, 2026

Use este tipo de implantação para publicar aplicativos a partir de imagens docker armazenadas em uma instância Enterprise Edition do Container Registry (ACR).

Para implantar a partir de uma edição Personal do ACR ou de um repositório de imagens de terceiros, use uma implantação apenas por comando .

Como funciona

Importante
  • Ao implantar em um grupo de dimensionamento do ESS, as atividades de dimensionamento são pausadas durante a implantação. Essas atividades retomam automaticamente após a conclusão da implantação, independentemente do sucesso ou falha.

  • O processo de implantação interrompe primeiro a versão antiga e depois inicia a nova. Cada execução roda o script de parada antes de executar o script de início.

  • A imagem docker é baixada automaticamente para a instância Elastic Compute Service (ECS) durante a implantação. Não inclua comandos de pull de imagem no script de início.

  1. Crie e publique uma implantação.

    Especifique o local do arquivo source do aplicativo no OSS, juntamente com os scripts de início e parada.

    Crie uma tarefa de release, selecione um modo de release e publique a implantação no grupo de aplicativos de destino.

  2. Fluxo automatizado de implantação.

    1. Recupera as informações da implantação, incluindo os detalhes da imagem docker e os scripts de início e parada do aplicativo.

    2. Baixa a imagem docker do repositório de imagens para a instância ECS.

    3. Executa o script de parada para interromper a versão antiga do aplicativo.

    4. Executa o script de início para iniciar a nova versão do aplicativo.

Observações de uso

  • As implantações têm suporte apenas em instâncias Linux.

  • Os scripts de início e parada devem ser scripts shell.

Procedimento

  1. Prepare o aplicativo, o grupo e as instâncias ECS.

    Antes de implantar, crie um aplicativo e um grupo no ECS Application Management. Em seguida, adicione suas instâncias ECS ao grupo.

    1. Caso não tenha uma instância ECS, acesse a página ECS console - Custom Launch para criar uma instância ECS Linux.

      Os scripts de exemplo a seguir destinam-se a estas imagens. Se você usar uma imagem diferente, modifique os scripts adequadamente.
    2. Acesse a página ECS console - Application management e clique em Create from Existing Resources para criar um aplicativo e um grupo de aplicativos e importar a instância ECS para o grupo.

    3. Instale o docker nas instâncias ECS do grupo. Na aba O&M do grupo de aplicativos, selecione ACS-ECS-BulkyConfigureOOSPackageWithTemporaryURL para instalar o docker em lote.

      Se sua instância ECS foi criada a partir de uma imagem personalizada, não é possível instalar extensões dessa forma. Conecte-se remotamente à instância e instale o docker manualmente .
  2. Crie uma implantação de imagem docker.

    1. Baixe a imagem de exemplo para sua máquina local. Depois, envie a imagem para o repositório da sua instância ACR Enterprise Edition.

      docker pull aliyun-computenest-opensource-registry.cn-hangzhou.cr.aliyuncs.com/default/aliyun-code-deploy:latest
    2. Acesse a página ECS console - Application management. Na aba My Applications, clique no nome do aplicativo de destino.

    3. Na página de detalhes do aplicativo, selecione a aba Deployment e clique em Create Deployment.

    4. Na página Create Deployment, defina RevisionType como Docker Image e configure os seguintes parâmetros principais.

      • Informações da instância ACR: Insira os detalhes da sua instância ACR Enterprise Edition. Após inserir a versão da imagem, o sistema gera automaticamente um Registry Address. Use esse endereço no script de início do aplicativo.image

      • Diretório de trabalho: Diretório de execução para os scripts de início e parada do aplicativo. Exemplo: /root/deploy.

      • Script de início do aplicativo: Substitua <Registry Address> pelo endereço real.

        ### The Docker image is automatically pulled to the ECS instance during deployment. You can start the container directly.
        ### Start the current version of the container
        start_application() {
          image_name="<Registry Address>"
          container_name="my-container"
          docker run -d -p 8080:8080 --name ${container_name} ${image_name}
        }
        
        start_application
      • Script de parada do aplicativo:

        stop_application() {
          # Query whether the container exists by the container name, and delete the container if it exists
          container_name="my-container"
          container_id=$(docker ps -aq -f name=${container_name}) 
          if [ -n "$container_id" ]; then
            docker rm -f $container_id
          fi
        }
        
        stop_application
    5. Após configurar todos os parâmetros, clique em OK para salvar a implantação.

  3. Retorne à lista de implantações, localize a implantação criada e clique em Deploy. Selecione o grupo de destino e clique em OK para iniciar a implantação.

  4. Verifique o resultado.

    1. Acesse a página de detalhes da instância de destino. Clique em Connect e selecione Workbench. Siga as instruções na tela para acessar o terminal.

    2. Execute o comando curl http://localhost:8080/hello. Uma resposta com Alibaba Spring Sample! indica que a implantação foi bem-sucedida.

Campos principais

Campo

Descrição

Região do Container Registry

Região onde a instância ACR Enterprise Edition está localizada.

ID da instância do Container Registry

ID da instância ACR Enterprise Edition.

Namespace

Namespace onde o repositório de imagens está localizado.

Nome do repositório

Nome do repositório de imagens.

Versão da imagem

Versão da imagem docker a ser implantada.

Baixar imagem via rede privada

Se optar por baixar a imagem pela rede privada, certifique-se de que a instância ACR e a instância ECS estejam na mesma virtual private cloud (VPC). Também é necessário ter configurado o controle de acesso para a VPC.
Caso contrário, a imagem será baixada pela Internet. Nessa situação, garanta que tanto a instância ECS quanto a instância ACR estejam configuradas para acesso à rede pública.

Diretório de trabalho

Diretório de trabalho para os scripts de início e parada do aplicativo.

  • Insira um caminho absoluto.

  • É possível informar um diretório inexistente, pois ele será criado automaticamente durante a execução.

Script de início do aplicativo

Script Shell usado para iniciar o aplicativo.

Script de parada do aplicativo

Script shell para parar o aplicativo.
O script deve interromper corretamente as versões atual e anterior do aplicativo e encerrar adequadamente caso o aplicativo não esteja em execução.



Por exemplo, o script abaixo para um contêiner chamado my-container. Ele pressupõe que todas as versões do contêiner compartilham o mesmo nome e não reporta erro caso o contêiner não exista:

container_name="my-container"
    container_id=$(docker ps -aq -f name=${container_name}) 
    if [ -n "$container_id" ]; then
      docker rm -f $container_id
    fi