View a markdown version of this page

Crea un'immagine del contenitore - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea un'immagine del contenitore

È possibile utilizzare la definizione AWS_BATCH_JOB_ARRAY_INDEX in a job nel parametro command. Tuttavia, si consiglia di creare un'immagine contenitore che utilizzi invece la variabile in uno script entrypoint. In questa sezione viene descritto come creare un'immagine del container di questo tipo.

Per creare l'immagine del container Docker
  1. Crea una nuova directory da utilizzare come WorkSpace dell'immagine Docker e aprila.

  2. Create un file denominato colors.txt nella directory del vostro spazio di lavoro e incollate quanto segue.

    red orange yellow green blue indigo violet
  3. Crea un file denominato print-color.sh nella directory del tuo spazio di lavoro e incolla quanto segue.

    Nota

    La variabile LINE è impostata su AWS_BATCH_JOB_ARRAY_INDEX +1 poiché l'indice dell'array inizia da 0, mentre i numeri di riga iniziano da 1. La COLOR variabile è impostata sul colore associato al numero di riga. colors.txt

    #!/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. Crea un file denominato Dockerfile nella directory del tuo spazio di lavoro e incolla il seguente contenuto. Questo file copia i file precedenti nel container e imposta lo script entrypoint in modo che venga eseguito all'avvio del container.

    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. Creazione dell'immagine Docker.

    $ docker build -t print-color .
  6. Esegui il test del container utilizzando lo script riportato di seguito. Questo script imposta la AWS_BATCH_JOB_ARRAY_INDEX variabile su 0 localmente e quindi la incrementa per simulare l'operazione di un array con sette figli.

    $ 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

    Di seguito è riportato l'output.

    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.