기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon SageMaker Processing은 다음 명령과 유사한 방법으로 처리 컨테이너 이미지를 실행합니다. 여기서 AppSpecification.ImageUri
은 CreateProcessingJob
작업에서 지정하는 Amazon ECR 이미지 URI입니다.
docker run [AppSpecification.ImageUri]
이 명령은 Docker 이미지에 구성된 ENTRYPOINT
명령을 실행합니다.
또한 이미지의 엔트리포인트 명령을 재정의하거나 CreateProcessingJob
요청에서 AppSpecification.ContainerEntrypoint
및 AppSpecification.ContainerArgument
파라미터를 사용하여 엔트리포인트 명령에 명령줄 인수를 제공할 수 있습니다. 이들 파라미터를 지정하면 다음 명령과 유사한 방법으로 컨테이너를 실행하도록 Amazon SageMaker Processing이 구성됩니다.
docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]
예를 들어 ContainerEntrypoint
을 CreateProcessingJob
요청의 [python3, -v, /processing_script.py]
로, 그리고 ContainerArguments
을 [data-format, csv]
로 지정하면 Amazon SageMaker Processing이 다음 명령으로 컨테이너를 실행합니다.
python3 -v /processing_script.py data-format csv
처리 컨테이너를 빌드할 때 다음 세부 사항을 고려하세요.
-
Amazon SageMaker Processing은 실행 명령의 종료 코드에 따라 작업이 완료될지 혹은 실패할지 여부를 결정합니다. 처리 작업은 모든 처리 컨테이너가 종료 코드 0으로 성공적으로 종료되면 완료가 되고, 컨테이너가 0이 아닌 종료 코드로 종료되면 실패합니다.
-
Amazon SageMaker Processing을 사용하면 Docker API를 사용할 때와 마찬가지로 처리 컨테이너의 진입점을 재정의하고, 명령 행의 인수를 설정할 수 있습니다. Docker 이미지는
ENTRYPOINT
및 CMD 명령을 사용하여 엔트리포인트 및 명령줄 인수를 구성할 수도 있습니다. 방식CreateProcessingJob
의ContainerEntrypoint
및ContainerArgument
파라미터는 Docker 이미지의 엔트리포인트를 구성하고 인수는 Docker가 Docker API를 통해 엔트리포인트와 인수를 재정의하는 방법을 미러링합니다.-
ContainerEntrypoint
와ContainerArguments
가 둘 다 제공되지 않는 경우, Processing은 이미지의 기본ENTRYPOINT
또는 CMD를 사용합니다. -
ContainerEntrypoint
가 제공되지만ContainerArguments
는 제공되지 않는 경우, Processing은 지정된 진입점으로 이미지를 실행하고 이미지의ENTRYPOINT
및 CMD를 무시합니다. -
ContainerArguments
가 제공되지만ContainerEntrypoint
는 제공되지 않는 경우, Processing은 이미지의 기본ENTRYPOINT
및 제공된 인수로 이미지를 실행합니다. -
ContainerEntrypoint
및ContainerArguments
가 둘 다 제공되는 경우, Processing은 지정된 진입점 및 인수로 이미지를 실행하고 이미지의ENTRYPOINT
및 CMD를 무시합니다.
-
-
먼저 Dockerfile에서
ENTRYPOINT
지침의 exec 양식을 사용해야 합니다(쉘 양식(ENTRYPOINT
command param1 param2
) 대신ENTRYPOINT
["executable", "param1", "param2"])
). 그러면 처리 컨테이너가SIGINT
및SIGKILL
신호를 수신할 수 있게 됩니다. Processing은 이 신호들을 이용하여StopProcessingJob
API로 처리 작업을 중지시킵니다. -
/opt/ml
및 모든 하위 디렉터리는 SageMaker AI에서 예약합니다. Processing Docker 이미지를 빌드할 경우, 처리 컨테이너에서 필요로 하는 데이터 중 어떤 것도 이 디렉터리에 배치하지 마세요. -
GPU 디바이스를 사용할 계획이라면 컨테이너가 nvidia-docker와 호환되는지 확인하세요. 컨테이너에 CUDA 도구 키트만 포함하세요. 이미지가 포함된 NVIDIA 드라이버를 번들화하지 마세요. nvidia-docker에 대한 추가 정보는 NVIDIA/nvidia-docker
를 참조하세요.