Utilisation de l'AWS CLIimage Docker version 2 - AWS Command Line Interface

Python 2.7, 3.4 et 3.5 sont obsolètes pour leAWS CLIversion 1. Pour en savoir plus, consultez leAWS CLIsection version 1 deÀ propos de laAWS CLIversions.

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.

Utilisation de l'AWS CLIimage Docker version 2

Cette rubrique décrit comment exécuter, contrôler la version et configurer l'AWS CLIversion 2 sur Docker. Pour de plus amples informations sur l'utilisation de Docker, veuillez consulter la Documentation de Docker.

Les images Docker officielles fournissent l'isolation, la portabilité et la sécurité qu'AWS prend en charge et gère directement. Cela vous permet d'utiliser l'AWS CLIVersion 2 dans un environnement à base de conteneur sans avoir à gérer l'installation vous-même.

Note

LeAWS CLILa version 2 est le seul outil qui est pris en charge sur l'AWSimage Docker.

Prerequisites

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

Exécuter l'AWS CLIimage Docker version 2

L'officielAWS CLIL'image Docker version 2 est hébergée sur DockerHub dans leamazon/aws-clirepository. La première fois que vous utilisez la commande docker run, l'image Docker 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 leAWS CLIversion 2 de l'image Docker, utilisez l'outildocker runcommande.

$ docker run --rm -it amazon/aws-cli command

La commande fonctionne de la manière suivante :

  • docker run --rm -it amazon/aws-cli— Équivalent de l'awsexécutable. Chaque fois que vous exécutez cette commande, Docker lance un conteneur de votre image amazon/aws-cli téléchargée et exécute votre commande aws. Par défaut, l'image Docker utilise la dernière version de l'AWS CLIversion 2.

    Par exemple, pour appeler la commande aws --version dans Docker, vous exécutez ce qui suit.

    $ docker run --rm -it amazon/aws-cli --version aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10
  • --rm— Spécifie de nettoyer le conteneur après la fin de la commande.

  • -it— Spécifie d'ouvrir un pseudo TY avecstdin. Cela vous permet de fournir une entrée à laAWS CLIVersion 2 pendant qu'elle est en cours d'exécution dans un conteneur, par exemple, en utilisant l'aws configureandaws helpcommandes. Si vous exécutez des scripts,-itn'est pas nécessaire. Si vous rencontrez des erreurs avec vos scripts, omettez-itde votre appel Docker.

Pour de plus amples informations sur la commande docker run, veuillez consulter le guide de référence Docker.

Utiliser des versions et des balises spécifiques

L'officielAWS CLIVersion 2 L'image Docker a plusieurs versions que vous pouvez utiliser, en commençant par la version 2.0.6. Pour exécuter une version spécifique de l'AWS CLIVersion 2, ajoutez la balise appropriée à votredocker runcommande. La première fois que vous utilisez la commande docker run avec une balise, la dernière image Docker 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 l'AWS CLIVersion 2 pour l'image Docker. Nous vous recommandons d'utiliser l'latestLorsque vous voulez obtenir la dernière version de l'AWS CLIversion 2. Cependant, il n'y a aucune garantie de compatibilité descendante lorsque vous utilisez cette balise. La balise latest est utilisée par défaut dans la commande docker run. Pour utiliser explicitement la balise latest, ajoutez la balise au nom de l'image du conteneur.

    $ docker run --rm -it amazon/aws-cli:latest command
  • <major.minor.patch>— Définit une version spécifique de l'AWS CLIVersion 2 pour l'image Docker. Si vous envisagez d'utiliser l'image Docker en production, nous vous recommandons d'utiliser une version spécifique de l'AWS CLIversion 2 pour assurer la compatibilité ascendante. Par exemple, pour exécuter la version 2.0.6, ajoutez la version au nom de l'image du conteneur.

    $ docker run --rm -it amazon/aws-cli:2.0.6 command

Mettre à jour vers la dernière image Docker

Étant donné que la dernière image Docker n'est 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 Docker télécharge la dernière version sur votre ordinateur.

$ docker pull amazon/aws-cli:latest

Partager des fichiers d'hôte, des informations d'identification, des variables d'environnement et de configuration

Parce que l'AWS CLIVersion 2 est exécutée dans un conteneur, par défaut l'interface de ligne de commande ne peut pas 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. Il s'agit deAWS CLIVersion 2 s'exécutant dans le conteneur pour localiser les informations du fichier hôte.

Linux and macOS
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli command
Windows Command Prompt
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli command
Windows PowerShell
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli command

Pour de plus amples informations sur l'indicateur -v et le montage, veuillez consulter le guide de référence Docker.

Exemple 1 : Fournir des informations d'identification et configurer

Dans cet exemple, nous fournissons les informations d'identification de l'hôte et la configuration lors de l'exécution de l's3 lsPour répertorier vos compartiments dans Amazon Simple Storage Service (Amazon S3). Les exemples ci-dessous utilisent l'emplacement par défaut pourAWS CLIles informations d'identification et les fichiers de configuration, pour utiliser un emplacement différent, modifiez le chemin d'accès du fichier.

Linux and macOS
$ docker run --rm -it -v ~/.aws:/root/.aws amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows Command Prompt
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows PowerShell
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws amazon/aws-cli s3 ls

Vous pouvez appeler des variables d'environnement système spécifiques à l'aide de l'-eindicateur. Pour utiliser une variable d'environnement, appelez-la par son nom.

Linux and macOS
$ docker run --rm -it -v ~/.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows Command Prompt
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows PowerShell
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e ENVVAR_NAME amazon/aws-cli s3 ls

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.

Linux and macOS
$ docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello
Windows Command Prompt
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello . download: s3://aws-cli-docker-demo/hello to ./hello
Windows PowerShell
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v /aws amazon/aws-cli s3 cp s3://aws-cli-docker-demo/hello .

Pour confirmer que le fichier téléchargé existe dans le système de fichiers local, exécutez la procédure suivante.

Linux and macOS
$ cat hello Hello from Docker!
Windows
$ type hello Hello from Docker!

Exemple 3 : Utilisation de votre variable d'environnement AWS_PROFILE

Vous pouvez appeler des variables d'environnement système spécifiques à l'aide de l'-eindicateur. 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 l'AWS_PROFILElors de l'exécution de la variables3 lsPour répertorier vos compartiments dans Amazon Simple Storage Service (Amazon S3).

Linux and macOS
$ docker run --rm -it -v ~/.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows
$ docker run --rm -it -v %userprofile%\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls 2020-03-25 00:30:48 aws-cli-docker-demo
Windows PowerShell
C:\> docker run --rm -it -v $env:userprofile\.aws:/root/.aws -e AWS_PROFILE amazon/aws-cli s3 ls

Abréger la commande Docker

Pour abréger la commande Docker aws, nous vous suggérons d'utiliser la capacité de votre système d'exploitation pour créer un symbolic link (lien symbolique) ou alias dans Linux et macOS, ou doskey dans Windows. Pour définir l'alias 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.

    Linux and macOS
    $ alias aws='docker run --rm -it amazon/aws-cli'
    Windows Command Prompt
    C:\> doskey aws=docker run --rm -it amazon/aws-cli $*
    Windows PowerShell
    C:\> Function AWSCLI {docker run --rm -it amazon/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
  • 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.

    Linux and macOS
    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli'
    Windows Command Prompt
    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli $*
    Windows PowerShell
    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v /aws amazon/aws-cli $args} Set-Alias -Name aws -Value AWSCLI
  • Pour affecter une version spécifique à utiliser dans votre alias aws, ajoutez votre balise de version.

    Linux and macOS
    $ alias aws='docker run --rm -it -v ~/.aws:/root/.aws -v $(pwd):/aws amazon/aws-cli:2.0.6'
    Windows Command Prompt
    C:\> doskey aws=docker run --rm -it -v %userprofile%\.aws:/root/.aws -v %cd%:/aws amazon/aws-cli:2.0.6 $*
    Windows PowerShell
    C:\> Function AWSCLI {docker run --rm -it -v $env:userprofile\.aws:/root/.aws -v /aws amazon/aws-cli:2.0.6 $args} Set-Alias -Name aws -Value AWSCLI

Après avoir défini votre alias, vous pouvez exécuter l'AWS CLIVersion 2 à partir d'un conteneur Docker comme si elle était installée sur votre système hôte.

$ aws --version aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10