Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Membangun gambar wadah
Anda dapat menggunakan definisi AWS_BATCH_JOB_ARRAY_INDEX
in a job di parameter perintah. Namun, kami menyarankan Anda membuat gambar kontainer yang menggunakan variabel dalam skrip entrypoint sebagai gantinya. Bagian ini menjelaskan cara membuat citra kontainer.
Untuk membangun gambar kontainer Docker Anda
-
Buat direktori baru untuk digunakan sebagai ruang kerja gambar Docker Anda dan buka direktori tersebut.
-
Buat file bernama
colors.txt
di direktori ruang kerja Anda dan tempelkan yang berikut ini ke dalamnya.red orange yellow green blue indigo violet
-
Buat file bernama
print-color.sh
di direktori ruang kerja Anda dan tempelkan yang berikut ini ke dalamnya.catatan
Variabel
LINE
diatur keAWS_BATCH_JOB_ARRAY_INDEX
+ 1 karena indeks array dimulai dari 0, tetapi nomor baris dimulai dari 1.COLOR
Variabel diatur ke warnacolors.txt
yang terkait dengan nomor barisnya.#!/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.
-
Buat file bernama
Dockerfile
di direktori ruang kerja Anda dan tempelkan konten berikut ke dalamnya. Dockerfile ini menyalin file sebelumnya ke kontainer Anda dan menetapkan skrip entrypoint yang akan dijalankan ketika kontainer dimulai.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
-
Bangun gambar Docker Anda.
$
docker build -t print-color .
-
Uji kontainer Anda dengan skrip berikut. Skrip ini menetapkan
AWS_BATCH_JOB_ARRAY_INDEX
variabel ke 0 secara lokal dan kemudian meningkatkannya untuk mensimulasikan apa yang dilakukan oleh pekerjaan array dengan tujuh anak.$
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
Berikut ini adalah outputnya.
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.