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 d'Amazon ECR Public ou de Docker pour le AWS CLI
Cette rubrique décrit comment exécuter, contrôler les versions et configurer la AWS CLI version 2 sur Docker à l'aide de l'image officielle Amazon Elastic Container Registry Public (Amazon ECR Public) ou de Docker Hub. Pour de plus amples informations sur l'utilisation de Docker, veuillez consulter la Documentation de Docker
Les images officielles offrent une isolation, une portabilité et une sécurité qui les soutiennent et les maintiennent AWS directement. Cela vous permet d'utiliser la AWS CLI version 2 dans un environnement basé sur des conteneurs sans avoir à gérer vous-même l'installation.
Rubriques
- Prérequis
- Choisir entre Amazon ECR Public et Docker Hub
- Exécutez les images de AWS CLI la version officielle 2
- Remarques sur les interfaces et la rétrocompatibilité des images officielles
- Utiliser des versions et des balises spécifiques
- Mise à jour vers la dernière image officielle
- Partage de fichiers hôtes, d'informations d'identification, de variables d'environnement et de configuration
- Raccourcir la commande docker run
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 --version
Docker version 19.03.1
Choisir entre Amazon ECR Public et Docker Hub
Nous vous recommandons d'utiliser Amazon ECR Public via Docker Hub pour les AWS CLI images. Docker Hub impose des limites de débit plus strictes pour les consommateurs publics, ce qui peut entraîner des problèmes de régulation. 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 la limitation du débit de Docker Hub, voir Comprendre la limitation du débit de Docker Hub sur le site
Exécutez les images de AWS CLI la version officielle 2
La première fois que vous utilisez la docker run
commande, la dernière image 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 AWS CLI version 2, utilisez la docker run
commande.
La commande fonctionne de la manière suivante :
-
docker run --rm -it
— L'équivalent de l'repository/name
aws
exécutable. Chaque fois que vous exécutez cette commande, Docker lance un conteneur contenant l'image que vous avez téléchargée et exécute votreaws
commande. Par défaut, l'image utilise la dernière version de la AWS CLI version 2.Par exemple, pour appeler la commande
aws --version
dans Docker, vous exécutez ce qui suit. -
--rm
— Spécifie de nettoyer le conteneur après la fin de la commande. -
-it
— Spécifie l'ouverture d'un pseudo- TTY avecstdin
. Cela vous permet de fournir des entrées à la AWS CLI version 2 lorsqu'elle s'exécute dans un conteneur, par exemple en utilisant lesaws help
commandesaws configure
et. Lorsque vous choisissez d'omettre ou non-it
, tenez compte des points suivants :-
Si vous exécutez des scripts, ce n'
-it
est pas nécessaire. -
Si vous rencontrez des erreurs avec vos scripts, le fait de ne pas participer
-it
à votre appel Docker peut résoudre le problème. -
Si vous essayez de rediriger la sortie,
-it
cela peut provoquer des erreurs et le fait-it
de ne pas participer à votre appel Docker peut résoudre ce problème. Si vous souhaitez conserver l'-it
indicateur, mais que vous souhaitez tout de même rediriger la sortie, la désactivation du pager côté client AWS CLI utilisé par défaut devrait résoudre le problème.
-
Pour de plus amples informations sur la commande docker run
, veuillez consulter 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 le AWS CLI. Seul l'
aws
exécutable doit être exécuté directement. Par exemple, même siless
etgroff
sont explicitement installés sur l'image, ils ne doivent pas être exécutés directement en dehors d'une AWS CLI commande. -
Le répertoire
/aws
de travail est 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 AWS CLI commande. -
Il n'y a aucune garantie de rétrocompatibilité en s'appuyant sur la dernière balise. Pour garantir la rétrocompatibilité, vous devez épingler une
<major.minor.patch>
balise spécifique car ces balises sont immuables ; elles ne seront reportées qu'une seule fois.
Utiliser des versions et des balises spécifiques
L'image officielle de la AWS CLI version 2 comporte plusieurs versions que vous pouvez utiliser, à commencer par la version2.0.6
. Pour exécuter une version spécifique de la AWS CLI version 2, ajoutez la balise appropriée à votre docker run
commande. La première fois que vous utilisez la docker run
commande avec une balise, la dernière image 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 AWS CLI version 2 pour l'image. Nous vous recommandons d'utiliser lelatest
tag lorsque vous souhaitez obtenir la dernière version de la AWS CLI version 2. Cependant, il n'y a aucune garantie de compatibilité descendante lorsque vous utilisez cette balise. La baliselatest
est 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 AWS CLI version 2 pour l'image. Si vous envisagez d'utiliser une image officielle en production, nous vous recommandons d'utiliser une version spécifique de la AWS CLI version 2 pour garantir la rétrocompatibilité. Par exemple, pour exécuter la version2.0.6
, ajoutez la version au nom de l'image du conteneur.
Mise à jour vers la dernière image officielle
Comme la dernière image n'est téléchargée sur votre ordinateur que la première fois que vous utilisez la docker run
commande, 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 permet de télécharger la dernière version sur votre ordinateur.
Partage de fichiers hôtes, d'informations d'identification, de variables d'environnement et de configuration
Comme la AWS CLI version 2 est exécutée dans un conteneur, elle ne CLI peut pas accéder par défaut 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 AWS CLI version 2 exécutée dans le conteneur de localiser les informations du fichier hôte.
Pour de plus amples informations sur l'indicateur -v
et le montage, veuillez consulter le guide de référence Docker
Note
Pour plus d'informations sur credentials
les fichiers config
et, voirParamètres des fichiers de configuration et d'identification dans le AWS CLI.
Exemple 1 : Fourniture d'informations d'identification et configuration
Dans cet exemple, nous fournissons les informations d'identification et la configuration de l'hôte lors de l'exécution de la s3 ls
commande pour répertorier vos buckets dans Amazon Simple Storage Service (Amazon S3). Les exemples ci-dessous utilisent l'emplacement par défaut pour les AWS CLI informations d'identification et les fichiers de configuration. Pour utiliser un autre emplacement, modifiez le chemin du fichier.
Vous pouvez appeler des variables d'environnement spécifiques à un système à l'aide de l'-e
indicateur. 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 de AWS CLI la version 2, vous pouvez lire des fichiers depuis le système hôte dans le conteneur ou écrire des fichiers depuis le conteneur vers 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 hello
Hello from Docker!
Fenêtres PowerShell
$
type hello
Hello from Docker!
Exemple 3 : Utilisation de votre variable d'AWS_PROFILEenvironnement
Vous pouvez appeler des variables d'environnement spécifiques à un système à l'aide de l'-e
indicateur. 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 le AWS_PROFILE
variable d'environnement lors de l'exécution de la s3 ls
commande pour répertorier vos compartiments dans Amazon Simple Storage Service (Amazon S3).
Raccourcir la commande docker run
Pour raccourcir la docker run
commande, nous vous suggérons d'utiliser la capacité de votre système d'exploitation pour créer un symbolic
link
alias
doskey
aws
, 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 AWS CLI version 2 depuis un conteneur comme si elle était installée sur votre système hôte.
$
aws --version
aws-cli/2.17.20 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10