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.
Exécution des images officielles Amazon ECR Public ou Docker pour l’AWS CLI
Cette rubrique décrit comment exécuter, contrôler les versions et configurer la version 2 de l’AWS CLI sur Docker à l’aide de l’image officielle Amazon Elastic Container Registry Public (Amazon ECR Public) ou Docker Hub. Pour plus d’informations sur l’utilisation de Docker, consultez la Documentation de Docker
Les images officielles offrent l’isolation, la portabilité et la sécurité que l’AWS prend en charge et gère directement. Cela vous permet d’utiliser la version 2 de l’AWS CLI dans un environnement basé sur des conteneurs sans avoir à gérer l’installation vous-même.
Rubriques
Prérequis
Docker doit être installé. Pour obtenir les instructions d'installation, consultez le site web Docker
Pour vérifier votre installation de Docker, exécutez la commande suivante et vérifiez qu'il existe une sortie.
$docker --versionDocker version 19.03.1
Choix entre Amazon ECR Public et Docker Hub
Nous vous recommandons d’utiliser Amazon ECR Public plutôt que Docker Hub pour les images d’AWS CLI. Docker Hub impose des limites de débit plus stricts pour les consommateurs publics, ce qui peut entraîner des problèmes de limitation. En outre, Amazon ECR Public réplique les images dans plusieurs régions afin de garantir une disponibilité optimale et de gérer les problèmes de panne régionaux.
Pour plus d’informations sur les limites de débit Docker Hub, consultez Understanding Docker Hub Rate Limiting
Exécution des images officielles de la version 2 de l’AWS CLI
La première fois que vous utilisez la commande docker run, l’image la plus récente est téléchargée sur votre ordinateur. Chaque utilisation ultérieure de la commande docker run s'exécute à partir de votre copie locale.
Pour exécuter les images Docker de la version 2 de l’AWS CLI, utilisez la commande docker run.
La commande fonctionne de la manière suivante :
-
docker run --rm -it: équivalent de l’exécutablerepository/nameaws. Chaque fois que vous exécutez cette commande, Docker lance un conteneur de votre image téléchargée et exécute votre commandeaws. Par défaut, l’image Docker utilise la dernière version de la version 2 de l’AWS CLI.Par exemple, pour appeler la commande
aws --versiondans Docker, vous exécutez ce qui suit. -
--rm: spécifie de nettoyer le conteneur après la fin de la commande. -
-it: spécifie d’ouvrir un pseudo TTY avecstdin. Cela vous permet de fournir une entrée à la version 2 de l’AWS CLI au cours de son exécution dans un conteneur, par exemple en utilisant les commandesaws configureetaws help. Lorsque vous choisissez d’exclure-it, tenez compte des éléments suivants :-
-itn’est pas nécessaire si vous exécutez des scripts. -
Si vous rencontrez des erreurs avec vos scripts, exclure
-itde votre appel Docker peut résoudre le problème. -
Si vous essayez de diriger la sortie,
-itpeut provoquer des erreurs et exclure-itde votre appel Docker peut résoudre ce problème. Si vous souhaitez conserver l’indicateur-it, mais que vous souhaitez tout de même diriger la sortie, désactiver le pager côté client que l’AWS CLI utilise par défaut devrait résoudre le problème.
-
Pour plus d’informations sur la commande docker run, consultez le Guide de référence Docker
Remarques sur les interfaces et la rétrocompatibilité des images officielles
-
Le seul outil pris en charge sur l’image est l’AWS CLI. Seul le fichier exécutable
awsdoit être exécuté directement. Par exemple, même silessetgroffsont explicitement installés sur l’image, ils ne doivent pas être exécutés directement en dehors d’une commande de l’AWS CLI. -
Le répertoire de travail
/awsest contrôlé par l’utilisateur. L’image n’écrira pas dans ce répertoire, sauf indication contraire de l’utilisateur lors de l’exécution d’une commande AWS CLI. -
La balise « latest » n’offre aucune garantie de rétrocompatibilité. Pour garantir la rétrocompatibilité, vous devez épingler sur une balise
<major.minor.patch>spécifique, car celles-ci sont immuables et ne sont transmises qu’une seule fois.
Utiliser des versions et des balises spécifiques
Vous pouvez utiliser plusieurs versions de l’image officielle de la version 2 de l’AWS CLI, à commencer par la version 2.0.6. Pour exécuter une version spécifique de la version 2 de l’AWS CLI, ajoutez la balise appropriée à votre commande docker run. La première fois que vous utilisez la commande docker run avec une balise, l’image la plus récente de cette balise est téléchargée sur votre ordinateur. Chaque utilisation ultérieure de la commande docker run avec cette balise s'exécute à partir de votre copie locale.
Vous pouvez utiliser deux types de balises :
-
latest: définit la dernière version de la version 2 de l’AWS CLI pour l’image. Nous vous recommandons d’utiliser la baliselatestlorsque vous souhaitez obtenir la dernière version de la version 2 de l’AWS CLI. Cependant, il n'y a aucune garantie de compatibilité descendante lorsque vous utilisez cette balise. La baliselatestest utilisée par défaut dans la commandedocker run. Pour utiliser explicitement la baliselatest, ajoutez la balise au nom de l'image du conteneur. -
<major.minor.patch>: définit une version spécifique de la version 2 de l’AWS CLI pour l’image. Si vous prévoyez d’utiliser une image officielle en production, nous vous recommandons d’utiliser une version spécifique de la version 2 de l’AWS CLI pour garantir la rétrocompatibilité. Par exemple, pour exécuter la version2.0.6, ajoutez la version au nom de l’image du conteneur.
Mettre à jour vers la dernière image officielle
La dernière image n’étant téléchargée sur votre ordinateur que la première fois que vous utilisez la commande docker run, vous devez extraire manuellement une image mise à jour. Pour mettre à jour manuellement vers la dernière version, nous vous recommandons d'extraire l'image balisée latest. L’extraction de l’image télécharge la dernière version sur votre ordinateur.
Partage des fichiers d’hôte, des informations d’identification et de la configuration
La versions 2 de l’AWS CLI étant exécutée dans un conteneur, la CLI ne peut pas, par défaut, accéder au système de fichiers hôte, qui inclut la configuration et les informations d’identification. Pour partager le système de fichiers hôte, les informations d'identification et la configuration avec le conteneur, montez le répertoire ~/.aws du système hôte sur le conteneur à l'adresse /root/.aws avec l'indicateur -v défini sur la commande docker run. Cela permet à la version 2 de l’AWS CLI s’exécutant dans le conteneur de localiser les informations du fichier hôte.
Pour plus d’informations sur l’indicateur -v et le montage, consultez le Guide de référence Docker
Note
Pour en savoir plus sur les fichiers config et credentials, consultez Paramètres des fichiers de configuration et d’informations d’identification dans l’ AWS CLI.
Exemple 1 : Fourniture d'informations d'identification et configuration
Dans cet exemple, nous fournissons les informations d’identification de l’hôte et la configuration lors de l’exécution de la commande s3 ls afin de répertorier vos compartiments dans Amazon Simple Storage Service (Amazon S3). Les exemples ci-dessous utilisent l’emplacement par défaut pour les informations d’identification et les fichiers de configuration de l’AWS CLI. Pour utiliser un autre emplacement, changez le chemin de fichier.
Vous pouvez appeler des variables d’environnement spécifiques à un système à l’aide de l’indicateur -e. Pour utiliser une variable d’environnement, appelez-la par son nom.
Exemple 2 : téléchargement d’un fichier Amazon S3 sur votre système hôte
Pour certaines commandes AWS CLI v2, vous pouvez lire les fichiers du système hôte dans le conteneur ou écrire des fichiers du conteneur sur le système hôte.
Dans cet exemple, nous téléchargeons l'objet S3 s3://aws-cli-docker-demo/hello sur votre système de fichiers local en installant le répertoire de travail actuel dans le répertoire /aws du conteneur. En téléchargeant l'objet hello dans le répertoire /aws du conteneur, le fichier est également enregistré dans le répertoire de travail actuel du système hôte.
Pour confirmer que le fichier téléchargé existe dans le système de fichiers local, exécutez la procédure suivante.
Linux et macOS
$cat helloHello from Docker!
Windows PowerShell
$type helloHello from Docker!
Exemple 3 : Utilisation de la variable d’environnement AWS_PROFILE
Vous pouvez appeler des variables d’environnement spécifiques à un système à l’aide de l’indicateur -e. Appelez chaque variable d’environnement que vous souhaitez utiliser. Dans cet exemple, nous fournissons les informations d’identification de l’hôte, la configuration et la variable d’environnement AWS_PROFILE lors de l’exécution de la commande s3 ls afin de répertorier vos compartiments dans Amazon Simple Storage Service (Amazon S3).
Abréviation de la commande docker run
Pour abréger la commande docker run, nous vous suggérons d’utiliser la capacité de votre système d’exploitation afin de créer un symbolic
linkaliasdoskeyaws, vous pouvez exécuter l'une des commandes suivantes.
-
Pour un accès de base aux commandes
aws, exécutez la procédure suivante. -
Pour accéder au système de fichiers hôte et aux paramètres de configuration lors de l'utilisation des commandes
aws, exécutez la procédure suivante. -
Pour affecter une version spécifique à utiliser dans votre alias
aws, ajoutez votre balise de version.
Après avoir défini votre alias, vous pouvez exécuter la version 2 de l’AWS CLI depuis un conteneur comme si elle était installée sur votre système hôte.
$aws --versionaws-cli/2.27.41 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10