

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Criando um Docker- frota habilitada com o AWS CLI
<a name="fleet-container-support-cli"></a>

A função de fila exige permissão para se autenticar no Amazon ECR e extrair a imagem selecionada pelo ambiente de fila. Docker A permissão da função da frota é opcional para o ambiente de fila padrão. Adicione-o quando as ações de configuração do host ou as ferramentas do lado do trabalhador extraírem imagens de uma sessão de fila.

## Pré-requisitos
<a name="fleet-container-cli-prerequisites"></a>

Antes de começar, configure o AWS CLI com permissão para criar frotas do Deadline Cloud e anexar políticas às funções de fila e frota. Você também precisa de uma fazenda, fila, função de fila, função de frota e imagem de contêiner existentes em um repositório privado do Amazon ECR.

## Crie a frota
<a name="fleet-container-cli-create"></a>

**Para criar um Docker- frota habilitada**

1. Defina seus valores de fazenda, fila e função.

   ```
   FARM_ID={{farm-0123456789abcdef0123456789abcdef}}
   QUEUE_ID={{queue-0123456789abcdef0123456789abcdef}}
   FLEET_ROLE_ARN={{arn:aws:iam::123456789012:role/DeadlineFleetRole}}
   MAX_WORKERS={{10}}
   
   QUEUE_ROLE_ARN=$(aws deadline get-queue \
       --farm-id "$FARM_ID" \
       --queue-id "$QUEUE_ID" \
       --query roleArn \
       --output text)
   QUEUE_ROLE_NAME=${QUEUE_ROLE_ARN##*/}
   FLEET_ROLE_NAME=${FLEET_ROLE_ARN##*/}
   ECR_READ_ONLY_POLICY=arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly
   ```

1. Anexe a política de somente leitura do Amazon ECR à função de fila. O ambiente de Docker fila padrão usa credenciais de fila para autenticar e extrair a imagem.

   ```
   aws iam attach-role-policy \
       --role-name "$QUEUE_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. (Opcional) Vincule a mesma política à função da frota quando as ações de configuração do host ou as ferramentas do lado do trabalhador precisarem extrair imagens para fora da sessão da fila.

   ```
   aws iam attach-role-policy \
       --role-name "$FLEET_ROLE_NAME" \
       --policy-arn "$ECR_READ_ONLY_POLICY"
   ```

1. Crie um arquivo chamado `docker-fleet-configuration.json` com a seguinte configuração de frota:

   ```
   {
     "serviceManagedEc2": {
       "instanceCapabilities": {
         "vCpuCount": {
           "min": 4,
           "max": 16
         },
         "memoryMiB": {
           "min": 8192,
           "max": 65536
         },
         "osFamily": "linux",
         "cpuArchitectureType": "x86_64",
         "softwareAddOns": [
           {
             "name": "docker"
           }
         ]
       },
       "instanceMarketOptions": {
         "type": "spot"
       }
     }
   }
   ```

1. Crie a frota gerenciada pelo serviço e salve o ID da frota.

   ```
   FLEET_ID=$(aws deadline create-fleet \
       --farm-id "$FARM_ID" \
       --display-name "Docker fleet" \
       --role-arn "$FLEET_ROLE_ARN" \
       --min-worker-count 0 \
       --max-worker-count "$MAX_WORKERS" \
       --configuration file://docker-fleet-configuration.json \
       --query fleetId \
       --output text)
   
   echo "$FLEET_ID"
   ```

1. Associe a fila à frota.

   ```
   aws deadline create-queue-fleet-association \
       --farm-id "$FARM_ID" \
       --queue-id "$QUEUE_ID" \
       --fleet-id "$FLEET_ID"
   ```

## Verifique as permissões da frota e da função
<a name="fleet-container-cli-verify"></a>

**Para verificar o suporte do contêiner**

1. Verifique se a configuração da frota inclui o complemento Docker de software.

   ```
   aws deadline get-fleet \
       --farm-id "$FARM_ID" \
       --fleet-id "$FLEET_ID" \
       --query 'configuration.serviceManagedEc2.instanceCapabilities.softwareAddOns'
   ```

   Confirme se a resposta contém`"name": "docker"`.

1. Verifique se a função de fila tem a política de somente leitura do Amazon ECR.

   ```
   aws iam list-attached-role-policies \
       --role-name "$QUEUE_ROLE_NAME" \
       --query 'AttachedPolicies[?PolicyName==`AmazonEC2ContainerRegistryReadOnly`]'
   ```

1. Se você anexou a política à função da frota, repita o comando com`--role-name "$FLEET_ROLE_NAME"`.

A frota não tem raízesDocker, mas a fila ainda precisa de um ambiente de fila que Docker identifique uma imagem. Para obter detalhes sobre a configuração da fila, consulte[Suporte de contêineres para frotas gerenciadas por serviços](fleet-container-support.md).