Creación de una imagen personalizada y envío a Amazon ECR - Amazon SageMaker AI

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.

Creación de una imagen personalizada y envío a Amazon ECR

En esta página se proporcionan instrucciones sobre cómo crear un Dockerfile local, crear la imagen del contenedor y añadirlo a Amazon Elastic Container Registry (Amazon ECR).

nota

En los siguientes ejemplos, las etiquetas no se especifican y la etiqueta latest se aplica de forma predeterminada. Si desea especificar una etiqueta, tendrá que añadir :tag al final de los nombres de las imágenes. Para obtener más información, consulte docker image tag en la documentación de Docker.

Creación de un Dockerfile local y diseño de la imagen de contenedor

Use las siguientes instrucciones para crear un Dockerfile con el software y las dependencias deseadas.

Cómo crear el archivo Dockerfile
  1. En primer lugar, defina las variables para AWS CLI los comandos siguientes.

    LOCAL_IMAGE_NAME=local-image-name

    local-image-name es el nombre de la imagen del contenedor en su dispositivo local y que define aquí.

  2. Cree un documento basado en texto, denominado Dockerfile, que cumpla con las especificaciones de Especificaciones de imágenes personalizadas.

    Puede consultar ejemplos de Dockerfile para aplicaciones compatibles en Ejemplos de Dockerfile.

    nota

    Si va a traer su propia imagen a SageMaker Unified Studio, tendrá que seguir las especificaciones de Dockerfile de la Guía del usuario de Amazon SageMaker Unified Studio.

    DockerfilePuedes encontrar ejemplos de SageMaker Unified Studio en el ejemplo de Dockerfile de la Guía del usuario de Amazon SageMaker Unified Studio.

  3. En el directorio que contiene su Dockerfile, cree la imagen de Docker con el siguiente comando. El punto (.) especifica que Dockerfile debe estar en el contexto del comando de compilación.

    docker build -t ${LOCAL_IMAGE_NAME} .

    Una vez finalizada la compilación, puede enumerar la información de la imagen del contenedor con el siguiente comando.

    docker images
  4. (Opcional) Puede usar el siguiente comando para probar la imagen.

    docker run -it ${LOCAL_IMAGE_NAME}

    En el resultado, verá que su servidor se ejecuta en una URL, como http://127.0.0.1:8888/.... Puede probar la imagen copiando la URL en el navegador.

    Si esto no funciona, es posible que deba incluir -p port:port en el comando “docker run”. Esta opción asigna el puerto expuesto en el contenedor a un puerto del sistema de host. Para obtener más información sobre “docker run”, consulte Running containers en la documentación de Docker.

    Después de comprobar que el servidor funciona, puede detenerlo y apagar todos los kernels antes de continuar. Las instrucciones se pueden ver en el resultado.

Adición de una imagen de Docker en Amazon ECR

Siga estos pasos para agregar una imagen de contenedor en Amazon ECR.

  • Cree un repositorio de Amazon ECR.

  • Inicie sesión en su registro predeterminado.

  • Cargue la imagen en el repositorio de Amazon ECR.

nota

El repositorio de Amazon ECR debe estar en el Región de AWS mismo dominio al que va a adjuntar la imagen.

Cómo crear y añadir una imagen de contenedor en Amazon ECR
  1. En primer lugar, defina las variables para los AWS CLI comandos siguientes.

    ACCOUNT_ID=account-id REGION=aws-region ECR_REPO_NAME=ecr-repository-name
    • account-id es su ID de cuenta. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. Por ejemplo, la consola de SageMaker IA.

    • aws-regiones el Región de AWS de tu dominio de Amazon SageMaker AI. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola.

    • ecr-repository-name es el nombre de su repositorio de Amazon Elastic Container Registry, que define aquí. Para ver sus repositorios de Amazon ECR, consulte la consola de Amazon ECR.

  2. Regístrese en Amazon ECR e inicie sesión en Docker.

    aws ecr get-login-password \ --region ${REGION} | \ docker login \ --username AWS \ --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com

    Si la autenticación se realiza correctamente, recibirá un mensaje de inicio de sesión correcto.

    importante

    Si recibe un error, es posible que deba instalar o actualizar a la versión más reciente de la AWS CLI. Para obtener más información, consulte Installing the AWS Command Line Interface en la Guía del usuario de AWS Command Line Interface .

  3. Etiquete la imagen en un formato compatible con Amazon ECR para enviarla a su repositorio.

    docker tag \ ${LOCAL_IMAGE_NAME} \ ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
  4. Cree un repositorio de Amazon ECR usando AWS CLI. Para crear el repositorio desde la consola de Amazon ECR, consulte Creación de un repositorio privado de Amazon ECR para almacenar imágenes.

    aws ecr create-repository \ --region ${REGION} \ --repository-name ${ECR_REPO_NAME}
  5. Envíe la imagen a su repositorio de Amazon ECR. También puede etiquetar la imagen de Docker.

    docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}

Una vez añadida correctamente la imagen al repositorio de Amazon ECR, puede verla en la consola de Amazon ECR.