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.
Crea una nueva carpeta en tu directorio principal.
mkdir ~/docker-cli-tutorial
Navega hasta la carpeta que creaste.
cd ~/docker-cli-tutorial
Crea un Dockerfile vacío.
touch Dockerfile
Con un editor de texto, por ejemplo
nano 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!" ]
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 (
.
).Ahora puede probar el contenedor para comprobar que funciona correctamente. AWS CloudShell
docker container run test-container
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}
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}
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>
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}
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}