Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:ACS-ECS-ConfigureDocker

Última atualização: Jun 28, 2026

Nome do modelo

ACS-ECS-ConfigureDocker: Instalar ou desinstalar o Docker em lote

Executar agora

Descrição do modelo

Instala ou desinstala o Docker em várias instâncias do Elastic Compute Service (ECS) simultaneamente.

Tipo de modelo

Automatizado

Proprietário

Alibaba Cloud

Parâmetros de entrada

Parâmetro

Descrição

Tipo

Obrigatório

Valor padrão

Limite

action

Tipo de operação.

String

Sim

targets

Instâncias de destino.

Json

Sim

regionId

ID da região.

String

Não

{{ ACS::RegionId }}

rateControl

Configurações de controle de taxa para execução da tarefa.

Json

Não

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Função do RAM assumida pelo CloudOps Orchestration Service (OOS).

String

Não

""

Parâmetros de saída

Parâmetro

Descrição

Tipo

commandOutput

String

Política de permissões necessária para executar o modelo

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeInstances",
                "ecs:DescribeInvocationResults",
                "ecs:DescribeInvocations",
                "ecs:RunCommand"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Detalhes

Para obter mais informações, consulte ACS-ECS-ConfigureDocker.yml no GitHub.

Conteúdo do modelo

FormatVersion: OOS-2019-06-01
Description:
  en: Installs or uninstalls Docker on multiple ECS instances.
  name-en: ACS-ECS-ConfigureDocker
  categories:
    - run_command
Parameters:
  regionId:
    Type: String
    Label:
      en: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  action:
    Type: String
    Label:
      en: Action
    AllowedValues:
       - install
       - uninstall
  targets:
    Type: Json
    Label:
      en: Target Instance
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  rateControl:
    Label:
      en: Rate Control
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOS Assume Role
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Obtains the specified ECS instances.
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
  - Name: runCommand
    Action: 'ACS::ECS::RunCommand'
    Properties:
      commandContent: |- 
        #!/bin/bash
        yum --help > /dev/null  2>&1
        if [ $? -eq 0 ]; then
            if [ "{{action}}" = "install" ]; then
                yum install -y docker
                if [ $? -ne 0 ]; then
                    echo "Docker installation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            elif [ "{{action}}" = "uninstall" ]; then
                yum remove -y docker
                if [ $? -ne 0 ]; then
                    echo "Docker uninstallation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            else
                echo "The command for the action parameter must be install or uninstall." >& 2
                exit 1;
            fi
        fi
        apt-get --help > /dev/null 2>&1
        if [ $? -eq 0 ]; then
            if [ "{{action}}" = "install" ]; then
                apt-get -y update  && apt-get -y install docker.io
                if [ $? -ne 0 ]; then
                    echo "Docker installation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            elif [ "{{action}}" = "uninstall" ]; then
                apt-get -y remove docker.io
                if [ $? -ne 0 ]; then
                    echo "Docker uninstallation failed. Check your command." >&2;
                    exit 1;
                fi
                exit 0;
            else
                echo "The command for the action parameter must be install or uninstall." >& 2
                exit 1;
            fi
        fi
        echo "Unknown package installer. Only yum and apt-get are supported." >&2;
        exit 1;
      instanceId: '{{ ACS::TaskLoopItem }}'
      commandType: RunShellScript
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        commandOutputs:
          AggregateType: 'Fn::ListJoin'
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  commandOutput:
    Type: String
    Value: '{{ runCommand.commandOutputs }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - action
        Label:
          default:
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            en: Select ECS Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            en: Advanced Options

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir mais de 3 vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações