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
Debe tener los permisos necesarios para crear e insertar en un repositorio de Amazon ECR. Para obtener más información sobre los repositorios con Amazon ECR, consulte Repositorios privados de Amazon ECR en la Guía del usuario de Amazon ECR. Para obtener más información sobre los permisos necesarios para insertar imágenes con Amazon ECR, consulte los permisos de IAM necesarios para la inserción de una imagen en la Guía del usuario de Amazon ECR.
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.
Cree una carpeta en el directorio principal.
mkdir ~/docker-cli-tutorial
Vaya a la carpeta que ha creado.
cd ~/docker-cli-tutorial
Cree un archivo Dockerfile vacío.
touch Dockerfile
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!" ]
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 (
.
).Ahora puede probar si el contenedor se ejecuta correctamente en AWS CloudShell.
docker container run test-container
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}
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}
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>
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}
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}