

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Imagen de cómo Amazon SageMaker Processing gestiona su contenedor de procesamiento
<a name="byoc-run-image"></a>

Amazon SageMaker Processing ejecuta la imagen del contenedor de procesamiento de forma similar a la del siguiente comando, donde `AppSpecification.ImageUri` se muestra el URI de la imagen de Amazon ECR que se especifica en una `CreateProcessingJob` operación. 

```
docker run [AppSpecification.ImageUri]
```

Este comando ejecuta el comando `ENTRYPOINT` configurado en la imagen de Docker. 

También puede anular el comando entrypoint en la imagen o proporcionar argumentos de línea de comandos al comando entrypoint utilizando los parámetros `AppSpecification.ContainerEntrypoint` y `AppSpecification.ContainerArgument` en la solicitud `CreateProcessingJob`. Al especificar estos parámetros, Amazon SageMaker Processing se configura para ejecutar el contenedor de forma similar a como lo hace el siguiente comando. 

```
 docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]
```

Por ejemplo, si especificas que debe `ContainerEntrypoint` estar `[python3, -v, /processing_script.py]` en tu `CreateProcessingJob ` solicitud y `ContainerArguments` que debe estar`[data-format, csv]`, Amazon SageMaker Processing ejecuta tu contenedor con el siguiente comando. 

```
 python3 -v /processing_script.py data-format csv 
```

 Al crear su contenedor de procesamiento, tenga en cuenta los siguientes detalles: 
+ Amazon SageMaker Processing decide si el trabajo se completa o no, en función del código de salida de la ejecución del comando. Un trabajo de procesamiento se completa si todos los contenedores de procesamiento salen correctamente con un código de salida 0 y devuelve un error si alguno de los contenedores sale con un código de salida distinto de cero.
+  Amazon SageMaker Processing le permite anular el punto de entrada del contenedor de procesamiento y establecer argumentos de línea de comandos del mismo modo que lo hace con la API de Docker. Las imágenes de Docker también pueden configurar los argumentos de punto de entrada y línea de comandos mediante las instrucciones `ENTRYPOINT` y CMD. La forma en que los parámetros `ContainerEntrypoint` y `ContainerArgument` de `CreateProcessingJob` configuran el punto de entrada y los argumentos de una imagen de Docker refleja cómo Docker anula el punto de entrada y los argumentos a través de la API de Docker:
  + Si no se proporcionan `ContainerEntrypoint` ni `ContainerArguments`, el Procesamiento utiliza el `ENTRYPOINT` o CMD predeterminado en la imagen.
  + Si se proporciona `ContainerEntrypoint`, pero no `ContainerArguments`, el Procesamiento ejecuta la imagen con el punto de entrada indicado, e ignora el `ENTRYPOINT` y CMD en la imagen.
  + Si se proporciona `ContainerArguments`, pero no `ContainerEntrypoint`, el Procesamiento ejecuta la imagen con el `ENTRYPOINT` predeterminado en la imagen y con los argumentos proporcionados.
  + Si se proporcionan `ContainerEntrypoint` y `ContainerArguments`, el Procesamiento ejecuta la imagen con el punto de entrada y los argumentos indicados y se ignoran el `ENTRYPOINT` y CMD en la imagen.
+ Debe usar el formato exec de la instrucción `ENTRYPOINT` en su Dockerfile (`ENTRYPOINT` `["executable", "param1", "param2"])` en lugar del formato shell (`ENTRYPOINT`` command param1 param2`). Esto permite que su contenedor de procesamiento reciba señales `SIGINT` y `SIGKILL`, que el Procesamiento utiliza para detener los trabajos de procesamiento utilizando la API `StopProcessingJob`.
+ `/opt/ml`y todos sus subdirectorios están reservados por AI. SageMaker Cuando cree su imagen de Docker de procesamiento, no coloque ningún dato requerido por su contenedor de procesamiento en estos directorios.
+ Si planea usar dispositivos GPU, asegúrese de que sus contenedores sean compatibles con nvidia-docker. Incluya solo el kit de herramientas CUDA en los contenedores. No cree un paquete con controladores de NVIDIA con la imagen. Para obtener más información sobre nvidia-docker, consulte [NVIDIA/nvidia-docker](https://github.com/NVIDIA/nvidia-docker).