Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Création d'un conteneur Docker à l'intérieur CloudShell et transfert vers un référentiel Amazon ECR
Ce didacticiel explique comment définir et créer un conteneur Docker AWS CloudShell et le transférer vers un référentiel Amazon ECR.
Prérequis
Vous devez disposer des autorisations nécessaires pour créer et transférer vers un référentiel Amazon ECR. Pour plus d'informations sur les référentiels dotés d'Amazon ECR, consultez les référentiels privés Amazon ECR dans le guide de l'utilisateur Amazon ECR. Pour plus d'informations sur les autorisations requises pour envoyer des images avec Amazon ECR, consultez la section Autorisations IAM requises pour envoyer une image dans le guide de l'utilisateur Amazon ECR.
Procédure du didacticiel
Le didacticiel suivant explique comment utiliser l' CloudShell interface pour créer un conteneur Docker et le transférer vers un référentiel Amazon ECR.
Créez un nouveau dossier dans votre répertoire personnel.
mkdir ~/docker-cli-tutorial
Accédez au dossier que vous avez créé.
cd ~/docker-cli-tutorial
Créez un Dockerfile vide.
touch Dockerfile
À l'aide d'un éditeur de texte
nano Dockerfile
, par exemple, ouvrez le fichier et collez-y le contenu suivant.# 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!" ]
Le Dockerfile est maintenant prêt à être créé. Construisez le conteneur en exécutant
docker build
. Marquez le conteneur avec un easy-to-type nom à utiliser dans les futures commandes.docker build --tag test-container .
Assurez-vous d'inclure la période de fin (
.
).Vous pouvez maintenant tester le conteneur pour vérifier qu'il fonctionne correctement AWS CloudShell.
docker container run test-container
Maintenant que vous disposez d'un conteneur Docker fonctionnel, vous devez le transférer vers un référentiel Amazon ECR. Si vous possédez déjà un référentiel Amazon ECR, vous pouvez ignorer cette étape.
Exécutez la commande suivante pour créer un référentiel Amazon ECR pour ce didacticiel.
ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
Après avoir créé le référentiel Amazon ECR, vous pouvez y transférer le conteneur Docker.
Exécutez la commande suivante pour obtenir les informations de connexion Amazon ECR pour 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}
Note
Si la variable d'AWS_REGIONenvironnement n'est pas définie dans votre CloudShell ou si vous souhaitez interagir avec des ressources dans un autre Régions AWS, exécutez la commande suivante :
AWS_REGION=<your-desired-region>
Marquez l'image avec le référentiel Amazon ECR cible, puis envoyez-la vers ce référentiel.
docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
Si vous rencontrez des erreurs ou des problèmes en essayant de suivre ce didacticiel, consultez la section Dépannage de ce guide pour obtenir de l'aide.
Nettoyage
Vous avez maintenant déployé avec succès votre conteneur Docker dans votre référentiel Amazon ECR. Pour supprimer de votre AWS CloudShell environnement les fichiers que vous avez créés dans ce didacticiel, exécutez la commande suivante.
cd ~ rm -rf ~/docker-cli-tutorial
Supprimez le référentiel Amazon ECR.
aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}