Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Ausführen der offiziellen Amazon ECR Public- oder Docker-Images für AWS CLI
In diesem Thema wird beschrieben, wie AWS CLI Version 2 auf Docker mit dem offiziellen Amazon Elastic Container Registry Public (Amazon ECR Public) oder dem Docker Hub-Image ausgeführt, Versionskontrolle und Konfiguration durchgeführt wird. Weitere Informationen zur Verwendung von Docker finden Sie in der Dokumentation von Docker
Offizielle Images bieten Isolierung, Portabilität und Sicherheit, die AWS direkt unterstützt und verwaltet wird. Auf diese Weise können Sie AWS CLI Version 2 in einer containerbasierten Umgebung verwenden, ohne die Installation selbst verwalten zu müssen.
Themen
Voraussetzungen
Sie müssen Docker installiert haben. Installationsanweisungen finden Sie auf der Docker-Website
Um Ihre Installation von Docker zu überprüfen, führen Sie den folgenden Befehl aus und stellen Sie sicher, dass eine Ausgabe vorhanden ist.
$
docker --version
Docker version 19.03.1
Entscheidung zwischen Amazon ECR Public und Docker Hub
Wir empfehlen die Verwendung von Amazon ECR Public über Docker Hub für AWS CLI Images. Beim Docker Hub gilt eine strengere Ratenbegrenzung für öffentliche Verbraucher, wodurch es zu Drosselungsproblemen kommen kann. Darüber hinaus repliziert Amazon ECR Public Images in mehr als einer Region, um eine hohe Verfügbarkeit zu gewährleisten und Probleme bezüglich des Ausfalls einer Region zu bewältigen.
Weitere Informationen über die Docker-Hub-Ratenbegrenzung finden Sie unter Understanding Docker Hub Rate Limiting
Führen Sie die offiziellen Images der AWS CLI Version 2 aus
Wenn Sie den docker run
-Befehl zum ersten Mal verwenden, wird das neueste Image auf Ihren Computer heruntergeladen. Jede nachfolgende Verwendung des docker run
-Befehls wird von Ihrer lokalen Kopie ausgeführt.
Verwenden Sie den docker run
Befehl, um die Docker-Images der AWS CLI Version 2 auszuführen.
So funktioniert der Befehl:
-
docker run --rm -it
– Das Äquivalent zur ausführbaren Dateirepository/name
aws
. Jedes Mal, wenn Sie diesen Befehl ausführen, erstellt Docker einen Container Ihres heruntergeladenen Images und führt Ihrenaws
-Befehl aus. Standardmäßig verwendet das Image die neueste Version der AWS CLI Version 2.Um beispielsweise den
aws --version
-Befehl in Docker aufzurufen, führen Sie Folgendes aus. -
--rm
– Gibt an, dass der Container nach dem Beenden des Befehls bereinigt wird. -
-it
– Gibt an, ein Pseudo-TTY mitstdin
zu öffnen. Auf diese Weise können Sie Eingaben für AWS CLI Version 2 bereitstellen, während sie in einem Container ausgeführt wird, z. B. mithilfe deraws help
Befehleaws configure
und. Bei der Auswahl, ob-it
weggelassen werden soll, ist Folgendes zu beachten:-
Wenn Sie Skripte ausführen, ist
-it
nicht erforderlich. -
Wenn bei Ihren Skripts Fehler auftreten, lassen sich diese eventuell beheben, indem Sie
-it
in Ihrem Docker-Aufruf weglassen. -
Wenn Sie versuchen, die Ausgabe zu leiten, kann
-it
Fehler verursachen und das Weglassen von-it
aus Ihrem Docker-Aufruf kann dieses Problem eventuell beheben. Wenn Sie das-it
-Flag behalten, aber dennoch die Ausgabe leiten möchten, sollte das Deaktivieren des clientseitigen Pagers, den die AWS CLI standardmäßig verwendet, das Problem lösen.
-
Weitere Informationen zum docker run
-Befehl finden Sie im Docker-Referenzhandbuch
Hinweise zu Schnittstellen und Abwärtskompatibilität der offiziellen Images
-
Das einzige Tool, das auf dem Image unterstützt wird, ist das AWS CLI. Nur die ausführbare Datei
aws
sollte jemals direkt ausgeführt werden. Obwohlless
sie beispielsweise explizit auf dem Image installiertgroff
sind, sollten sie nicht direkt außerhalb eines AWS CLI Befehls ausgeführt werden. -
Das
/aws
-Arbeitsverzeichnis wird vom Benutzer gesteuert. Das Abbild schreibt nicht in dieses Verzeichnis, es sei denn, der Benutzer weist ihn dazu an, einen AWS CLI Befehl auszuführen. -
Es gibt keine Abwärtskompatibilitätsgarantien, wenn Sie sich auf das neueste Tag verlassen. Um Abwärtskompatibilität zu gewährleisten, müssen Sie an ein bestimmtes Tag
<major.minor.patch>
anheften, da diese Tags unveränderlich sind; sie werden nur einmal übertragen.
Verwenden bestimmter Versionen und Tags
Das offizielle Image der AWS CLI Version 2 hat mehrere Versionen, die Sie verwenden können, beginnend mit Version2.0.6
. Um eine bestimmte Version der AWS CLI Version 2 auszuführen, hängen Sie das entsprechende Tag an Ihren docker run
Befehl an. Wenn Sie den docker run
-Befehl zum ersten Mal mit einem Tag verwenden, wird das neueste Image für dieses Tag auf Ihren Computer heruntergeladen. Jede nachfolgende Verwendung des docker run
-Befehls mit diesem Tag wird von Ihrer lokalen Kopie ausgeführt.
Sie können zwei Arten von Tags verwenden:
-
latest
— Definiert die neueste Version der AWS CLI Version 2 für das Image. Wir empfehlen Ihnen, daslatest
Tag zu verwenden, wenn Sie die neueste Version von AWS CLI Version 2 verwenden möchten. Es gibt jedoch keine Abwärtskompatibilitätsgarantien, wenn Sie sich auf dieses Tag verlassen. Daslatest
-Tag wird standardmäßig imdocker run
-Befehl verwendet. Um daslatest
-Tag explizit zu verwenden, fügen Sie das Tag an den Container-Image-Namen an. -
<major.minor.patch>
— Definiert eine spezifische Version der AWS CLI Version 2 für das Image. Wenn Sie planen, ein offizielles Image in der Produktion zu verwenden, empfehlen wir Ihnen, eine bestimmte Version der AWS CLI Version 2 zu verwenden, um die Abwärtskompatibilität sicherzustellen. Wenn Sie beispielsweise Version2.0.6
ausführen möchten, fügen Sie die Version an den Container-Image-Namen an.
Aktualisieren auf das neueste offizielle Image
Da das neueste Image nur bei der ersten Verwendung des docker run
-Befehls auf Ihren Computer heruntergeladen wird, müssen Sie ein aktualisiertes Image manuell abrufen. Um manuell auf die neueste Version zu aktualisieren, empfehlen wir, das mit latest
markierte Image abzurufen. Wenn Sie das Image abrufen, wird die neueste Version auf Ihren Computer heruntergeladen.
Freigeben von Hostdateien, Anmeldeinformationen, Umgebungsvariablen und Konfiguration
Da AWS CLI Version 2 in einem Container ausgeführt wird, kann die CLI standardmäßig nicht auf das Host-Dateisystem zugreifen, das Konfiguration und Anmeldeinformationen enthält. Wenn Sie das Host-Dateisystem, die Anmeldeinformationen und die Konfiguration für den Container freigeben möchten, mounten Sie das ~/.aws
-Verzeichnis des Hostsystems in den Container unter /root/.aws
mit dem an den docker run
-Befehl angehängten -v
-Flag. Dadurch kann die im Container ausgeführte AWS CLI Version 2 Hostdateiinformationen finden.
Weitere Informationen zum -v
-Flag und zum Mounting finden Sie im Docker-Referenzhandbuch
Anmerkung
Weitere Informationen zu config
- und credentials
-Dateien finden Sie unter Einstellungen für die Konfiguration und die Anmeldeinformationsdatei in der AWS CLI.
Beispiel 1: Bereitstellen von Anmeldeinformationen und Konfiguration
In diesem Beispiel stellen wir Host-Anmeldeinformationen und -konfiguration durch Ausführung des s3 ls
-Befehls bereit, um Ihre Buckets in der Amazon Simple Storage Service (Amazon S3) aufzulisten. In den folgenden Beispielen wird der Standardspeicherort für AWS CLI Anmeldeinformationen und Konfigurationsdateien verwendet. Um einen anderen Speicherort zu verwenden, ändern Sie den Dateipfad.
Sie können Umgebungsvariablen des Systems mithilfe des -e
-Flag aufrufen. Um eine Umgebungsvariable zu verwenden, rufen Sie sie nach Namen auf.
Beispiel 2: Download einer Amazon-S3-Datei auf Ihr Hostsystem
Bei einigen Befehlen der AWS CLI Version 2 können Sie Dateien vom Hostsystem im Container lesen oder Dateien vom Container auf das Hostsystem schreiben.
In diesem Beispiel laden wir das S3
-Objekt s3://aws-cli-docker-demo/hello
in Ihr lokales Dateisystem herunter, indem wir das aktuelle Arbeitsverzeichnis in das /aws
-Verzeichnis des Containers mounten. Durch den Download des hello
-Objekts in das /aws
-Verzeichnis des Containers wird die Datei auch im aktuellen Arbeitsverzeichnis des Hostsystems gespeichert.
Führen Sie Folgendes aus, um sicherzustellen, dass die heruntergeladene Datei im lokalen Dateisystem vorhanden ist.
Unter Linux und macOS
$
cat hello
Hello from Docker!
Windows PowerShell
$
type hello
Hello from Docker!
Beispiel 3: Verwenden Sie Ihre AWS_PROFILE Umgebungsvariable
Sie können Umgebungsvariablen des Systems mithilfe des -e
-Flags aufrufen. Rufen Sie jede Umgebungsvariable auf, die Sie verwenden möchten. In diesem Beispiel geben wir Host-Anmeldeinformationen, Konfiguration und die AWS_PROFILE
Umgebungsvariable an, wenn wir den s3 ls
Befehl zum Auflisten Ihrer Buckets in Amazon Simple Storage Service (Amazon S3) ausführen.
Verkürzen des Docker-Ausführungsbefehls
Um den docker run
-Befehl zu verkürzen, empfehlen wir, die Funktion Ihres Betriebssystems zum Erstellen eines symbolic
link
alias
doskey
aws
-Alias festzulegen, können Sie einen der folgenden Befehle ausführen.
-
Für einfachen Zugriff auf
aws
-Befehle führen Sie Folgendes aus. -
Für den Zugriff auf das Host-Dateisystem und die Konfigurationseinstellungen bei Verwendung von
aws
-Befehlen führen Sie Folgendes aus. -
Wenn Sie eine bestimmte Version zuweisen möchten, die in Ihrem
aws
-Alias verwendet werden soll, fügen Sie Ihr Versionstag an.
Nachdem Sie Ihren Alias festgelegt haben, können Sie AWS CLI Version 2 in einem Container ausführen, als ob sie auf Ihrem Hostsystem installiert wäre.
$
aws --version
aws-cli/2.19.1 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.4.5dev10