Tutorial: criar uma imagem de contêiner - AWS Batch

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á.

Tutorial: criar uma imagem de contêiner

Você pode usar o AWS_BATCH_JOB_ARRAY_INDEX em uma definição de trabalho no parâmetro de comando. No entanto, recomendamos criar uma imagem de contêiner que use a variável em um script de ponto de entrada. Esta seção descreve instruções para criação essa imagem de contêiner.

Para criar sua imagem de contêiner do Docker
  1. Crie novo diretório, a ser usado como seu workspace de imagem do Docker, e navegue até ele.

  2. Crie um arquivo de nome colors.txt em seu diretório do workspace e cole o conteúdo a seguir.

    red orange yellow green blue indigo violet
  3. Crie um arquivo de nome print-color.sh em seu diretório do workspace e cole o conteúdo a seguir.

    nota

    A variável LINE é definida como AWS_BATCH_JOB_ARRAY_INDEX +1, pois o índice de matriz inicia em 0, mas os números de linha iniciam em com 1. A variável COLOR é definida como a cor no colors.txt associado ao número de linha.

    #!/bin/sh LINE=$((AWS_BATCH_JOB_ARRAY_INDEX + 1)) COLOR=$(sed -n ${LINE}p /tmp/colors.txt) echo My favorite color of the rainbow is $COLOR.
  4. Crie um arquivo de nome Dockerfile em seu diretório do workspace e cole nele o conteúdo a seguir. Esse Dockerfile copia os arquivos anteriores em seu contêiner e define o script de ponto de entrada a ser executado quando o contêiner for iniciado.

    FROM busybox COPY print-color.sh /tmp/print-color.sh COPY colors.txt /tmp/colors.txt RUN chmod +x /tmp/print-color.sh ENTRYPOINT /tmp/print-color.sh
  5. Compile sua imagem do Docker.

    $ docker build -t print-color .
  6. Teste seu contêiner com o script a seguir. Esse script define a variável AWS_BATCH_JOB_ARRAY_INDEX como 0 localmente e, em seguida, a acrescenta, para simular o que um trabalho de matriz com sete filhos faz.

    $ AWS_BATCH_JOB_ARRAY_INDEX=0 while [ $AWS_BATCH_JOB_ARRAY_INDEX -le 6 ] do docker run -e AWS_BATCH_JOB_ARRAY_INDEX=$AWS_BATCH_JOB_ARRAY_INDEX print-color AWS_BATCH_JOB_ARRAY_INDEX=$((AWS_BATCH_JOB_ARRAY_INDEX + 1)) done

    A saída vem a seguir.

    My favorite color of the rainbow is red.
    My favorite color of the rainbow is orange.
    My favorite color of the rainbow is yellow.
    My favorite color of the rainbow is green.
    My favorite color of the rainbow is blue.
    My favorite color of the rainbow is indigo.
    My favorite color of the rainbow is violet.