Crear un contenedor Docker en su interior CloudShell y enviarlo a un repositorio de Amazon ECR - AWS CloudShell

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.

Crear un contenedor Docker en su interior CloudShell y enviarlo a un repositorio de Amazon ECR

En este tutorial, se muestra cómo definir y crear un contenedor de Docker AWS CloudShell y cómo enviarlo a un ECR repositorio de Amazon.

Requisitos previos

  • Debes tener los permisos necesarios para crear un ECR repositorio de Amazon e insertarlo en él. Para obtener más información sobre los repositorios de AmazonECR, consulta los repositorios ECR privados de Amazon en la Guía ECRdel usuario de Amazon. Para obtener más información sobre los permisos necesarios para enviar imágenes con AmazonECR, consulta IAMlos permisos necesarios para enviar una imagen en la Guía del ECR usuario de Amazon.

Procedimiento tutorial

El siguiente tutorial describe cómo usar la CloudShell interfaz para crear un contenedor de Docker y enviarlo a un ECR repositorio de Amazon.

  1. Crea una nueva carpeta en tu directorio principal.

    mkdir ~/docker-cli-tutorial
  2. Navega hasta la carpeta que creaste.

    cd ~/docker-cli-tutorial
  3. Crea un Dockerfile vacío.

    touch Dockerfile
  4. Con un editor de texto, por ejemplonano Dockerfile, abra el archivo y pegue el siguiente contenido en él.

    # Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
  5. El Dockerfile ya está listo para ser creado. Construya el contenedor ejecutándolo. docker build Etiquete el contenedor con un easy-to-type nombre para usarlo en futuros comandos.

    docker build --tag test-container .

    Asegúrese de incluir el punto final (.).

    Imagen del comando docker build ejecutado en su interior. AWS CloudShell
  6. Ahora puede probar el contenedor para comprobar que funciona correctamente. AWS CloudShell

    docker container run test-container
    Imagen del comando docker container run en su interior AWS CloudShell
  7. Ahora que tienes un contenedor de Docker en funcionamiento, necesitas subirlo a un ECR repositorio de Amazon. Si ya tienes un ECR repositorio de Amazon, puedes saltarte este paso.

    Ejecuta el siguiente comando para crear un ECR repositorio de Amazon para este tutorial.

    ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
    Imagen del comando utilizado para crear un ECR repositorio de Amazon en su interior AWS CloudShell
  8. Después de crear el ECR repositorio de Amazon, puedes insertar el contenedor de Docker en él.

    Ejecuta el siguiente comando para obtener las credenciales de inicio de ECR sesión de Amazon para Docker.

    AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
    Imagen del comando utilizado para obtener las credenciales de inicio de ECR sesión de Amazon para Docker.
    nota

    Si la variable de AWS_REGION entorno no está configurada en su archivo CloudShell o si desea interactuar con los recursos de otro Regiones de AWS, ejecute el siguiente comando:

    AWS_REGION=<your-desired-region>
  9. Etiquete la imagen con el ECR repositorio de Amazon de destino y, a continuación, envíela a ese repositorio.

    docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
    Imagen del comando utilizado para etiquetar la imagen con el ECR repositorio de Amazon de destino.

    Si encuentra errores o tiene problemas al intentar completar este tutorial, consulte la sección de solución de problemas de esta guía para obtener ayuda.

Limpieza

Ya has implementado correctamente tu contenedor de Docker en tu ECR repositorio de Amazon. Para eliminar de su AWS CloudShell entorno los archivos que creó en este tutorial, ejecute el siguiente comando.

  • cd ~ rm -rf ~/docker-cli-tutorial
  • Elimina el ECR repositorio de Amazon.

    aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}