Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'une image de conteneur
Vous pouvez utiliser le AWS_BATCH_JOB_ARRAY_INDEX dans une définition de tâche dans le paramètre de commande. Toutefois, nous vous recommandons de créer une image de conteneur qui utilise plutôt la variable dans un script de point d'entrée. Cette section décrit comment créer une image de conteneur de ce type.
Pour créer votre image de conteneur Docker
-
Créez un répertoire à utiliser en tant qu'espace de travail de votre image Docker et accédez à celui-ci.
-
Créez un fichier nommé
colors.txtdans le répertoire de votre espace de travail et collez-y le texte suivant.red orange yellow green blue indigo violet -
Créez un fichier nommé
print-color.shdans le répertoire de votre espace de travail et collez-y le texte suivant.Note
La variable
LINEest définie sur le codeAWS_BATCH_JOB_ARRAY_INDEX+ 1 car l'index de tableau commence à 0 mais les numéros de ligne commencent à 1. LaCOLORvariable est définie sur la couleur associée à son numéro de ligne.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. -
Créez un fichier nommé
Dockerfiledans le répertoire de votre espace de travail et collez-y le contenu suivant. Ce Dockerfile copie les fichiers précédents vers votre conteneur et définit le script de point d'entrée à exécuter au lancement du conteneur.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 -
Générez votre image Docker.
$docker build -t print-color . -
Testez votre conteneur avec le script suivant. Ce script définit la
AWS_BATCH_JOB_ARRAY_INDEXvariable sur 0 localement, puis l'incrémente pour simuler ce que fait une tâche matricielle avec sept enfants.$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)) doneEn voici la sortie.
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.