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 repositorio de Amazon ECR.

Requisitos previos

Procedimiento del tutorial

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

  1. Cree una carpeta en el directorio principal.

    mkdir ~/docker-cli-tutorial
  2. Vaya a la carpeta que ha creado.

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

    touch Dockerfile
  4. Con un editor de texto, por ejemplo, nano Dockerfile, abra el archivo y pegue el siguiente contenido en este.

    # 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 archivo Dockerfile está ahora listo para crearse. Ejecute docker build para crear el contenedor. 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 que se ejecuta en AWS CloudShell.
  6. Ahora puede probar si el contenedor se ejecuta correctamente en AWS CloudShell.

    docker container run test-container
    Imagen del comando docker container run en su interior AWS CloudShell
  7. Ahora que tiene un contenedor de Docker en funcionamiento, debe insertarlo en un repositorio de Amazon ECR. Si ya tiene un repositorio de Amazon ECR puede omitir este paso.

    Ejecute el siguiente comando para crear un repositorio de Amazon ECR 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 repositorio de Amazon ECR en AWS CloudShell
  8. Después de crear el repositorio de Amazon ECR, puede insertar el contenedor de Docker en este.

    Ejecute el siguiente comando para obtener las credenciales de inicio de sesión de Amazon ECR 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 que se usa para obtener las credenciales de inicio de sesión de Amazon ECR para Docker.
    nota

    Si la variable de AWS_REGION entorno no está configurada en su CloudShell servidor 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 repositorio de Amazon ECR de destino y, a continuación, insértela en ese repositorio.

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

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

Limpieza

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

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

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