

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 컨테이너 이미지 빌드
<a name="build-index-container"></a>

명령 파라미터의 작업 정의에 `AWS_BATCH_JOB_ARRAY_INDEX`를 사용할 수 있습니다. 하지만 진입점 스크립트에서 변수를 사용하는 컨테이너 이미지를 대신 생성하는 것이 좋습니다. 이 섹션에서는 이러한 컨테이너 이미지를 만드는 방법을 설명합니다.

**Docker 컨테이너 이미지를 빌드하려면**

1. 도커 이미지 작업 영역으로 사용할 새 디렉터리를 만들고 여기로 이동합니다.

1. 작업 영역 디렉터리에 이름이 `colors.txt`인 파일을 만들고 그 아래에 내용을 붙여 넣습니다.

   ```
   red
   orange
   yellow
   green
   blue
   indigo
   violet
   ```

1. 작업 영역 디렉터리에 이름이 `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.
   ```

1. 작업 영역 디렉터리에 이름이 `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
   ```

1. 도커 이미지를 빌드합니다.

   ```
   $ docker build -t print-color .
   ```

1. 다음 스크립트로 컨테이너를 테스트합니다. 이 스크립트는 로컬에서 `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.
   ```