Tutorial: Membangun gambar wadah - AWS Batch

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
  1. Buat direktori baru untuk digunakan sebagai ruang kerja gambar Docker Anda dan buka direktori tersebut.

  2. Buat file bernama colors.txt di direktori ruang kerja Anda dan tempelkan yang berikut ini ke dalamnya.

    red orange yellow green blue indigo violet
  3. Buat file bernama print-color.sh di direktori ruang kerja Anda dan tempelkan yang berikut ini ke dalamnya.

    catatan

    Variabel LINE diatur ke AWS_BATCH_JOB_ARRAY_INDEX + 1 karena indeks array dimulai dari 0, tetapi nomor baris dimulai dari 1. COLORVariabel diatur ke warna colors.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.
  4. 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
  5. Bangun gambar Docker Anda.

    $ docker build -t print-color .
  6. 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.