チュートリアル: コンテナイメージを構築する - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: コンテナイメージを構築する

コマンドパラメータのジョブ定義をAWS_BATCH_JOB_ARRAY_INDEXで使用できます。 ただし、エントリポイントスクリプトで変数を使用するコンテナイメージを作成することをお勧めします。このセクションでは、そのようなコンテナイメージを作成する方法について説明します。

Docker コンテナイメージを構築するには
  1. Docker イメージワークスペースとして使用する新しいディレクトリを作成し、そのディレクトリに移動します。

  2. WorkSpace ディレクトリで、colors.txtという名前のファイルを作成し、以下を貼り付けます。

    red orange yellow green blue indigo violet
  3. WorkSpace ディレクトリで、print-color.shという名前のファイルを作成し、以下を貼り付けます。

    注記

    配列インデックスは 0 から始まり、行番号は 1 から始まるため、LINE 変数は AWS_BATCH_JOB_ARRAY_INDEX +1 に設定されます。COLOR 変数は、行番号に関連付けられている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. WorkSpace ディレクトリで、Dockerfileという名前のファイルを作成し、以下を貼り付けます。この Dockerfile は、以前のファイルをコンテナにコピーし、コンテナの起動時に実行するようにエントリポイントスクリプトを設定します。

    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. Docker イメージをビルドします。

    $ docker build -t print-color .
  6. 次のスクリプトを使用してコンテナをテストします。このスクリプトは、AWS_BATCH_JOB_ARRAY_INDEX 変数をローカルで 0 に設定し、それをインクリメントして 7 つの子 が を行う配列ジョブが何をするのかをシミュレートします。

    $ 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

    出力を次に示します。

    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.