

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
<a name="tutorial-docker-cli"></a>

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.

## Conditions préalables
<a name="prerequisites-docker-cli"></a>
+ 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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) *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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-push.html#image-push-iam) dans le guide de l'utilisateur *Amazon ECR.*

## Procédure du didacticiel
<a name="tutorial-docker-cli-steps"></a>

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.

1. Créez un dossier dans votre répertoire personnel.

   ```
   mkdir ~/docker-cli-tutorial
   ```

1. Accédez au dossier que vous avez créé.

   ```
   cd ~/docker-cli-tutorial
   ```

1. Créez un Dockerfile vide.

   ```
   touch Dockerfile
   ```

1. À 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!" ]
   ```

1. 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 (`.`).  
![\[Image de la commande docker build exécutée à l'intérieur. AWS CloudShell\]](http://docs.aws.amazon.com/fr_fr/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%201-docker-build.png)

1. Vous pouvez maintenant tester le conteneur pour vérifier qu'il fonctionne correctement AWS CloudShell.

   ```
   docker container run test-container
   ```  
![\[Image de la commande Docker Container Run à l'intérieur AWS CloudShell\]](http://docs.aws.amazon.com/fr_fr/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%202-docker-run.png)

1. 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}
   ```  
![\[Image de la commande utilisée pour créer un référentiel Amazon ECR à l'intérieur AWS CloudShell\]](http://docs.aws.amazon.com/fr_fr/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%203-ecr-create-repo%20(redacted).png)

1. 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}
   ```  
![\[Image de la commande utilisée pour obtenir les informations de connexion Amazon ECR pour Docker.\]](http://docs.aws.amazon.com/fr_fr/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%204-docker-login.png)
**Note**  
Si la variable d'**AWS\$1REGION**environnement 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>
   ```

1. 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}
   ```  
![\[Image de la commande utilisée pour étiqueter l'image avec le référentiel Amazon ECR cible.\]](http://docs.aws.amazon.com/fr_fr/cloudshell/latest/userguide/images/docker-cli-tutorial%20-%205-docker-push%20(redacted).png)

   Si vous rencontrez des erreurs ou des problèmes en essayant de suivre ce didacticiel, consultez la section [Dépannage](https://docs.aws.amazon.com/cloudshell/latest/userguide/troubleshooting.html) de ce guide pour obtenir de l'aide.

## Nettoyage
<a name="clean-up-docker-cli"></a>

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}
  ```