Einrichten der Elastic Container Registry (ECR) für Docker auf AWS

Amazon Elastic Container Registry (ECR) ist ein verwalteter Container-Registrierungsdienst von AWS. Diesen Dienst finden Sie unter „Compute“ auf der AWS-Konsole. Dies wird zum Speichern, Verwalten und Bereitstellen von Docker-Container-Images verwendet. ECR ist in den Amazon Elastic Container Service (ECS) integriert.

Bei ECR gibt es keine Vorabgebühren. Wir zahlen nur für die Menge an Daten, die wir in unseren Repositorien speichern, und für Daten, die ins Internet übertragen werden. Um mehr über ECR-Rechnungen zu erfahren, klicken Sie hier.

Bevor wir fortfahren, wollen wir einige Begriffe verstehen, die wir später in diesem Artikel sehen werden.

Register: Es ist ein Ort, an dem wir in ihm Bildbestände anlegen und Bilder darin speichern können.

Autorisierungs-Token: Der Docker-Client muss sich bei den Amazon ECR-Registrierungen als AWS-Benutzer authentifizieren, bevor er Bilder schieben und ziehen kann. Die Authentifizierungsdaten können über den AWS CLI-Befehl get-login abgerufen und an Docker übergeben werden.

Repository: Das Bildarchiv enthält Docker-Bilder. Repository-Richtlinie

Bild: Wir können Docker-Bilder in unsere Repositories schieben und ziehen. Wir können diese Bilder lokal auf unserem System verwenden.

In diesem Artikel sehen wir, wie man eine ECR-Registry und ein Repository erstellt und das Docker-Image dorthin schiebt und daraus zieht. Ich werde versuchen, dieses Dokument so einfach wie möglich zu halten, so dass diejenigen, die neu dabei sind, nicht viel Mühe brauchen, es zu verstehen.

Voraussetzungen

  1. AWS-Konto (Erstellen Sie wenn Sie keine haben)
  2. Ubuntu 18.04 Server oder EC2 Ubuntu 18.04 Instanz (Klicken Sie hier um zu lernen, wie man eine EC2-Instanz erstellt, wenn man keine hat oder wenn man lernen möchte )
  3. Docker auf Ihrem System vorinstalliert.

Was wir tun werden?

  1. Anmeldung bei AWS.
  2. Legen Sie ein ECR-Repository an.
  3. AWS-CLI auf Linux-Server installieren
  4. Authentifizierung des Docker-Clients vom Terminal aus und Tag & Upload des lokalen Bildes in das ECR-Repository.
  5. Entfernen Sie die Markierung und löschen Sie das Bild aus dem lokalen System und ziehen Sie ECR Repo.

Anmeldung bei AWS

  1. Klicken Sie auf hier um zur AWS-Anmeldeseite zu gelangen.

Wenn wir auf den obigen Link klicken, sehen wir eine Webseite wie folgt, auf der wir uns mit unseren Anmeldedaten einloggen müssen.

AWS-Verwaltungskonsole

ECR-Repo erstellen

Um einen ECR-Repo zu erstellen, klicken Sie auf den Pfeil neben „Services“ und Sie sehen eine Liste der AWS Services.

Klicken Sie in der Liste auf „ECR“. Sie können die gewünschte Region auswählen. Ich fahre hier mit Paris fort.

ECR-Repo erstellen

Sie sehen einen Bildschirm wie folgt.

Klicken Sie auf „Get Started“, um Ihr erstes Repo zu erstellen.

Erstes Repo erstellen

Geben Sie nun auf dem nächsten Bild einen Namen für das anzulegende Repo ein.

Auf demselben Bildschirm sehen Sie zwei verfügbare Optionen.

  1. Tag Unveränderlichkeit:
    Diese Funktion verhindert, dass Bild-Tags durch nachfolgende Bild-Pushes mit demselben Tag überschrieben werden.
  2. Scannen auf Knopfdruck:
    Mit dieser Funktion können wir das Scannen auf Knopfdruck ermöglichen, so dass jedes Bild automatisch gescannt wird, nachdem es in ein Repository verschoben wurde.

Vorerst werden wir diese Funktionen nicht aktivieren.

Klicken Sie einfach auf „Repository erstellen“, um fortzufahren.

Repository anlegen

Jetzt können Sie sehen, dass der Repo einsatzbereit ist.

Repository ist einsatzbereit

AWS-CLI auf Linux-Server installieren

Sie benötigen auch den Befehl „aws“ auf Ihrem System.

Um „aws“ auf dem Ubuntu-System zu installieren, können Sie einfach die folgenden Befehle eingeben

apt-get  update
apt-get  install awscli

awscli installieren

Authentifizierung des Docker-Clients vom Terminal aus und Tag & Upload des vorhandenen Bildes in ECR Repo.

Sobald wir den „aws“-Befehl auf unserem System haben, müssen wir den Docker-Client gegenüber unserer Registrierung authentifizieren und dazu müssen wir ein System mit installiertem Docker haben.

Sie können auf die offizielle Seite von Docker verweisen, um Docker auf Ihrem System zu installieren.

Wir können die Version von Docker mit dem Befehl „docker –version“ überprüfen.

Docker-Version prüfen

Bevor wir den Docker-Client bei unserer Registrierung authentifizieren, müssen wir unsere aws_access_key_id und aws_secret_access_key exportieren.

Siehe Die offizielle Dokumentation der AWS um mehr darüber zu erfahren.

Verwenden Sie die folgenden Befehle, um die erforderlichen Schlüssel zu exportieren.

aws configure set aws_access_key_id YOUR_ACCESS_KEY
aws configure set aws_secret_access_key YOUR_SECRET_KEY
aws configure set default.region YOUR_DEFAULT_REGION
aws configure set default.output json

Sobald wir diese Werte exportiert haben, sind wir bereit, den Docker-Client bei unserer Registrierung zu authentifizieren.

Klicken Sie zunächst auf das Repo und dann auf „Push-Befehle anzeigen“:

Push-Befehle anzeigen

Wir sehen alle erforderlichen Befehle, sobald wir auf „Push-Befehle anzeigen“ klicken:

Push-Befehle anzeigen

Kopieren Sie den ersten Befehl und führen Sie ihn von Ihrem System aus, um den Docker-Client gegenüber unserer Registrierung zu authentifizieren.

ECR-Anmeldung erhalten

Nun lassen Sie uns ein Bild aus dem Docker-Hub ziehen, das wir in ECR Repo schieben werden, oder Sie bauen sich selbst aus Ihrer Docker-Datei auf. Hier ziehe ich ein apache/httpd-Bild und schiebe es dann

docker pull httpd

Listen Sie die Bilder auf, um die verfügbaren Bilder auf dem lokalen System zu sehen.

docker images

Kopieren Sie den zweiten Befehl, wenn Sie Ihr eigenes Bild erstellen wollen, oder gehen Sie zum dritten Befehl und führen Sie ihn aus

Docker-Tag <Bild_Name>:<Tag> <ECR_Repo>:<TAG>

Hier ist es,

docker tag httpd:latest 064827688814.dkr.ecr.eu-west-3.amazonaws.com/rahul-ecr-repo:latest

Verwenden Sie diese Adresse NICHT, da ich das Repo bereits gelöscht habe.

Jetzt sind wir bereit, das Bild in die ECR zu bringen.

Kopieren Sie den vierten Befehl und führen Sie ihn aus.

Dadurch wird das Bild erfolgreich zum ECR Repo gebracht.

das Bild in ECR Repo zu verschieben

ECR Repo Übersicht

Löscht das Bild aus dem lokalen System und zieht es aus der ECR-Repo

Wir können das lokale Bild löschen, wenn Sie es nicht mehr benötigen.

docker rmi <Bild_Name>

Hier ist es,

docker  rmo httpd

Auf die gleiche Weise können Sie das markierte Bild aus dem lokalen System löschen.

Dann können Sie versuchen, das Bild aus dem ECR-Repo zu ziehen.

Gehen Sie zum Repo und kopieren Sie die Bild-URI:

docker  pull “IMAGE_URI”

das Bild aus dem ECR-Repo abziehen

Schlussfolgerung

In diesem Artikel haben wir gelernt, ein ECR-Repository zu erstellen, den Docker-Client anzumelden, das lokale Image zu markieren und es in das ECR-Repo zu verschieben und dasselbe zu ziehen.

Das könnte dich auch interessieren …