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.
Arbeiten mit Amazon Elastic Container Registry
Sie können direkt vom AWS Explorer in VS Code auf den Service Amazon Elastic Container Registry (Amazon ECR) zugreifen und ihn verwenden, um ein Programm-Image in ein Amazon ECR-Repository zu übertragen. Um zu beginnen, müssen Sie die folgenden Schritte ausführen:
-
Erstellen Sie eine Dockerfile-Datei, die die zum Erstellen eines Images erforderlichen Informationen enthält.
-
Erstellen Sie ein Image aus dieser Dockerfile-Datei und markieren Sie das Image für die Verarbeitung.
-
Erstellen Sie ein Repository in Ihrer Amazon ECR-Instance.
-
Verschieben Sie das Image in Ihr Repository.
Voraussetzungen
Sie müssen diese Schritte ausführen, um über den VS Code Explorer auf den Amazon ECR-Service zuzugreifen.
Bevor Sie auf einen AWS Service wie Amazon ECR zugreifen können, müssen Sie Anmeldeinformationen angeben. Auf diese Weise kann der Service feststellen, ob Sie berechtigt sind, auf seine Ressourcen zuzugreifen. Wir empfehlen nicht, dass Sie AWS direkt über die Anmeldeinformationen für Ihr AWS Root-Konto zugreifen. Verwenden Sie stattdessen AWS Identity and Access Management (IAM), um einen IAM-Benutzer zu erstellen und diesen Benutzer dann einer IAM-Gruppe mit Administratorberechtigungen hinzuzufügen. Sie können dann AWS mit einer speziellen URL und den Anmeldeinformationen für den IAM-Benutzer darauf zugreifen.
Wenn Sie sich für einen IAM-Benutzer registriert haben, AWS aber keinen für sich selbst erstellt haben, können Sie mithilfe der IAM-Konsole einen erstellen.
Wählen Sie zum Erstellen eines Administratorbenutzers eine der folgenden Optionen aus.
Wählen Sie eine Möglichkeit zur Verwaltung Ihres Administrators aus. | Bis | Von | Sie können auch |
---|---|---|---|
Im IAM Identity Center (Empfohlen) |
Verwendung von kurzfristigen Anmeldeinformationen für den Zugriff auf AWS. Dies steht im Einklang mit den bewährten Methoden für die Sicherheit. Weitere Informationen zu bewährten Methoden finden Sie unter Bewährte Methoden für die Sicherheit in IAM im IAM-Benutzerhandbuch. |
Beachtung der Anweisungen unter Erste Schritte im AWS IAM Identity Center -Benutzerhandbuch. | Konfigurieren Sie den programmatischen Zugriff, indem Sie den AWS IAM Identity Center im AWS CLI Benutzerhandbuch zu verwendendenAWS Command Line Interface konfigurieren. |
In IAM (Nicht empfohlen) |
Verwendung von langfristigen Anmeldeinformationen für den Zugriff auf AWS. | Folgen Sie den Anweisungen unter Erstellen eines IAM-Benutzers für den Notfallzugriff im IAM-Benutzerhandbuch. | Konfigurieren Sie den programmatischen Zugriff unter Zugriffsschlüssel für IAM-Benutzer verwalten im IAM-Benutzerhandbuch. |
Um sich als dieser neue IAM-Benutzer anzumelden, melden Sie sich von der AWS Konsole ab und verwenden Sie dann die folgende URL. In der folgenden URL, wobei your_aws_account_id Ihre AWS Kontonummer ohne Bindestriche ist (wenn Ihre Kontonummer beispielsweise lautet, lautet Ihre AWS Konto-ID): 1234-5678-9012
AWS 123456789012
https://
your_aws_account_id
.signin.aws.amazon.com/console/
Geben Sie den IAM-Benutzernamen und das von Ihnen soeben erstellte Passwort ein. Nachdem Sie sich angemeldet haben, wird in der Navigationsleiste „your_user_name @ your_aws_account_id“ angezeigt.
Wenn Sie nicht möchten, dass die URL für Ihre Anmeldeseite Ihre Konto-ID enthält, können Sie einen AWS Kontoalias erstellen. Wählen Sie im IAM-Dashboard die Option Anpassen und geben Sie einen Kontoalias ein. Dies kann Ihr Firmenname sein. Weitere Informationen finden Sie unter Ihre AWS Konto-ID und deren Alias im IAM-Benutzerhandbuch.
Nach dem Erstellen eines Konto-Alias verwenden Sie die folgende URL, um sich anzumelden:
https://
your_account_alias
.signin.aws.amazon.com/console/
Um den Anmeldelink der IAM-Benutzer Ihres Kontos zu verifizieren, öffnen Sie die IAM-Konsole und prüfen dies im Dashboard unter IAM users sign-in link.
Weitere Informationen über IAM finden Sie im AWS Identity and Access Management Benutzerhandbuch .
Sie können Docker installieren und konfigurieren, indem Sie im Benutzerhandbuch zur Installation der Docker Engine
Installieren und konfigurieren Sie AWS CLI Version 2, indem Sie im Benutzerhandbuch zur Installation, Aktualisierung und Deinstallation der AWS CLI Version 2 Ihr bevorzugtes Betriebssystem auswählen.
1. Erstellen einer Dockerfile-Datei
Docker verwendet eine Datei namens Dockerfile, um ein Image zu definieren, das per Push übertragen und in einem Remote-Repository gespeichert werden kann. Bevor Sie ein Bild in ein ECR-Repository hochladen können, müssen Sie ein Dockerfile erstellen und dann ein Image aus diesem Dockerfile erstellen.
Erstellen einer Dockerfile-Datei
-
Verwenden Sie das Toolkit for VS Code Explorer, um zu dem Verzeichnis zu navigieren, in dem Sie Ihre Dockerfile speichern möchten.
-
Erstellen Sie eine neue Datei namens Dockerfile.
Anmerkung
VS Code könnte Sie auffordern, einen Dateityp oder eine Dateierweiterung auszuwählen. Wählen Sie in diesem Fall Klartext aus. Vs Code hat die Erweiterung „Dockerfile“. Wir empfehlen jedoch, diese nicht zu verwenden. Dies liegt daran, dass die Erweiterung Konflikte mit bestimmten Versionen von Docker oder anderen zugehörigen Anwendungen verursachen kann.
Bearbeiten Sie Ihr Dockerfile mit VS Code
Wenn Ihre Dockerfile-Datei eine Dateierweiterung hat, öffnen Sie das Kontextmenü (rechte Maustaste) für die Datei und entfernen Sie die Dateierweiterung.
Nachdem die Dateierweiterung aus Ihrer Dockerfile-Datei entfernt wurde:
-
Öffnen Sie das leere Dockerfile direkt in VS Code.
-
Kopieren Sie den Inhalt des folgenden Beispiels in Ihr Dockerfile:
Beispiel Dockerfile-Image-Vorlage
FROM ubuntu:18.04 # Install dependencies RUN apt-get update && \ apt-get -y install apache2 # Install apache and write hello world message RUN echo 'Hello World!' > /var/www/html/index.html # Configure apache RUN echo '. /etc/apache2/envvars' > /root/run_apache.sh && \ echo 'mkdir -p /var/run/apache2' >> /root/run_apache.sh && \ echo 'mkdir -p /var/lock/apache2' >> /root/run_apache.sh && \ echo '/usr/sbin/apache2 -D FOREGROUND' >> /root/run_apache.sh && \ chmod 755 /root/run_apache.sh EXPOSE 80 CMD /root/run_apache.sh
Dies ist eine Dockerfile-Datei, die ein Ubuntu-18.04-Image verwendet. Die RUN-Anweisungen aktualisieren die Paketcaches. Installieren Sie Softwarepakete für den Webserver und schreiben Sie dann den Inhalt „Hello World!“ in das Dokumenten-Stammverzeichnis des Webservers. Die EXPOSE-Anweisung stellt Port 80 auf dem Container bereit, und die CMD-Anweisung startet den Webserver.
-
Speichern Sie Ihre Dockerfile-Datei.
Wichtig
Stellen Sie sicher, dass Ihrem Dockerfile keine Erweiterung an den Namen angehängt ist. Eine Dockerfile-Datei mit Erweiterungen kann Konflikte mit bestimmten Versionen von Docker oder anderen zugehörigen Anwendungen verursachen.
2. Erstellen Sie Ihr Image aus Ihrem Dockerfile
Das von Ihnen erstellte Dockerfile enthält die Informationen, die zum Erstellen eines Images für ein Programm erforderlich sind. Bevor Sie dieses Image auf Ihre Amazon ECR-Instance übertragen können, müssen Sie zuerst das Image erstellen.
Erstellen Sie ein Image aus Ihrem Dockerfile
-
Verwenden Sie die Docker-CLI oder eine CLI, die in Ihre Docker-Instanz integriert ist, um zu dem Verzeichnis zu navigieren, das Ihre Dockerfile enthält.
-
Führen Sie den Befehl Docker build aus, um das Image zu erstellen, das in Ihrem Dockerfile definiert ist.
docker build -t hello-world .
-
Führen Sie den Befehl Docker images aus, um zu überprüfen, ob das Image korrekt erstellt wurde.
docker images --filter reference=hello-world
Beispielausgabe:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
-
Anmerkung
Dieser Schritt ist nicht notwendig, um Ihr Image zu erstellen oder zu übertragen, aber Sie können sehen, wie das Programm-Image funktioniert, wenn es ausgeführt wird.
Verwenden Sie den Befehl Docker run, um das neu erstellte Image auszuführen.
docker run -t -i -p 80:80 hello-world
Die Option -p, die im vorherigen Beispiel angegeben wurde, ordnet den exponierten Port 80 auf dem Container dem Port 80 des Hostsystems zu. Wenn Sie Docker lokal ausführen, navigieren Sie mit Ihrem Webbrowser zu http://localhost:80
. Wenn das Programm korrekt ausgeführt wurde, ein „Hello World!“ Die Anweisung wird angezeigt. Weitere Informationen zum Befehl Docker run finden Sie in der Docker run reference
auf der Docker-Website.
3. Erstellen Sie ein neues Repository
Wenn Sie das Image in Ihre Amazon-ECR-Instance hochladen möchten, erstellen Sie ein neues Repository, in dem es gespeichert werden kann.
Neues Amazon ECR-Repository erstellen
-
Wählen Sie in der VS Code-Aktivitätsleiste das AWS Toolkit-Symbol aus.
-
Erweitern Sie das AWS Explorer-Menü.
-
Suchen Sie die AWS Standardregion, die mit Ihrem AWS Konto verknüpft ist. Wählen Sie es dann aus, um eine Liste der Dienste anzuzeigen, die über das Toolkit for VS Code bereitgestellt werden.
-
Wählen Sie die Option ECR +, um mit der Erstellung eines neuen Repositorys zu beginnen.
-
Folgen Sie den Anweisungen, um den Vorgang abzuschließen.
-
Nach Abschluss des Vorgangs können Sie über den ECR-Bereich des AWS Explorer-Menüs auf Ihr neues Repository zugreifen.
4. Bilder per Push übertragen, abrufen und löschen
Nachdem Sie ein Image aus Ihrer Dockerfile-Datei erstellt und ein Repository erstellt haben, können Sie Ihr Image in Ihr Amazon-ECR-Repository übertragen. Darüber hinaus können Sie mit dem AWS Explorer mit Docker und der AWS CLI Folgendes tun:
-
Ein Image aus Ihrem Repository abrufen
-
Ein Bild, das in deinem Repository gespeichert ist, löschen
-
Ihr Repository löschen
Authentifizieren Sie Docker mit Ihrer Standardregistrierung
Für den Datenaustausch zwischen Amazon-ECR-Instances und Docker-Instanzen ist eine Authentifizierung erforderlich. So authentifizieren Sie Docker für Ihre Registry:
-
Öffnen Sie ein Befehlszeilenbetriebssystem, das mit Ihrer AWS CLI-Instanz verbunden ist.
-
Verwenden Sie get-login-passworddiese Methode, um sich bei Ihrer privaten ECR-Registrierung zu authentifizieren.
aws ecr get-login-password --region
region
| docker login --username AWS --password-stdinAWS_account_id
.dkr.ecr.region
.amazonaws.comWichtig
Im vorherigen Befehl müssen Sie
region
sowohl die als auchAWS_account_id
die für Ihr AWS Konto spezifischen Informationen aktualisieren.
Taggen Sie ein Bild und übertragen Sie es in Ihr Repository
Nachdem Sie Docker mit Ihrer Instanz von authentifiziert haben AWS, übertragen Sie ein Bild in Ihr Repository.
-
Verwenden Sie den Befehl Docker images, um die Bilder anzuzeigen, die Sie lokal gespeichert haben, und um das Bild zu identifizieren, das Sie taggen möchten.
docker images
Beispielausgabe:
REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest e9ffedc8c286 4 minutes ago 241MB
-
Markieren Sie Ihr Image mit dem Befehl Docker tag.
docker tag hello-world:latest
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latest -
Pushen Sie das markierte Bild mit dem Befehl Docker tag in Ihr Repository.
docker push
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latestBeispielausgabe:
The push refers to a repository [
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774
Nachdem Ihr markiertes Bild erfolgreich in Ihr Repository hochgeladen wurde, ist es im AWS Explorer-Menü sichtbar.
Ein Bild aus Amazon ECR abrufen
-
Sie können ein Bild in Ihre lokale Instance des Befehls Docker tag abrufen.
docker pull
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world:latestBeispielausgabe:
The push refers to a repository [
AWS_account_id
.dkr.ecr.region
.amazonaws.com/hello-world] (len: 1) e9ae3c220b23: Pushed a6785352b25c: Pushed 0998bf8fb9e9: Pushed 0a85502c06c9: Pushed latest: digest: sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b size: 6774
Löschen Sie ein Bild aus Ihrem Amazon ECR-Repository
Es gibt zwei Methoden, um ein Bild aus VS Code zu löschen. Die erste Methode ist die Verwendung des AWS Explorers.
-
Erweitern Sie im AWS Explorer das ECR-Menü
-
Erweitern Sie das Repository, aus dem Sie ein Bild löschen möchten
-
Wählen Sie das Bild-Tag aus, das mit dem Bild verknüpft ist, das Sie löschen möchten, indem Sie das Kontextmenü öffnen (Rechtsklick)
-
Wählen Sie „Tag löschen“... Option, um alle gespeicherten Bilder zu löschen, die mit diesem Tag verknüpft sind
Löschen Sie ein Bild mit der AWS CLI
-
Sie können ein Bild auch mit dem batch-delete-image Befehl AWS ecr aus Ihrem Repository löschen.
AWS ecr batch-delete-image \ --repository-name
hello-world
\ --image-ids imageTag=latestBeispielausgabe:
{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }
Löschen Sie ein Repository aus Ihrer Amazon ECR-Instance
Es gibt zwei Methoden, um ein Repository aus VS Code zu löschen. Die erste Methode besteht darin, den AWS Explorer zu verwenden.
-
Erweitern Sie im AWS Explorer das ECR-Menü
-
Wählen Sie das Repository aus, das Sie löschen möchten, indem Sie das Kontextmenü (Rechtsklick) öffnen
-
Wählen Sie Repository löschen... Option zum ausgewählten Repository
Löschen Sie ein Amazon ECR-Repository aus der CLI AWS
-
Sie können ein Repository mit dem Befehl AWS ecr delete-repository löschen.
Anmerkung
Standardmäßig können Sie ein Repository, das Bilder enthält, nicht löschen. Das Flag --force ermöglicht dies jedoch.
AWS ecr delete-repository \ --repository-name
hello-world
\ --forceBeispielausgabe:
{ "failures": [], "imageIds": [ { "imageTag": "latest", "imageDigest": "sha256:215d7e4121b30157d8839e81c4e0912606fca105775bb0636b95aed25f52c89b" } ] }