Einen Docker-Container im Inneren erstellen CloudShell und in ein ECR Amazon-Repository verschieben - AWS CloudShell

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.

Einen Docker-Container im Inneren erstellen CloudShell und in ein ECR Amazon-Repository verschieben

Dieses Tutorial zeigt Ihnen, wie Sie einen Docker-Container definieren und erstellen AWS CloudShell und ihn in ein ECR Amazon-Repository übertragen.

Voraussetzungen

  • Sie müssen über die erforderlichen Berechtigungen verfügen, um ein ECR Amazon-Repository zu erstellen und dorthin zu pushen. Weitere Informationen zu Repositorys bei Amazon ECR finden Sie unter ECRPrivate Amazon-Repositorys im ECRAmazon-Benutzerhandbuch. Weitere Informationen zu den Berechtigungen, die für die Übertragung von Bildern mit Amazon erforderlich sindECR, finden Sie unter Erforderliche IAM Berechtigungen für die Übertragung von Bildern im ECRAmazon-Benutzerhandbuch.

Ablauf des Tutorials

Das folgende Tutorial beschreibt, wie Sie die CloudShell Schnittstelle verwenden, um einen Docker-Container zu erstellen und ihn in ein ECR Amazon-Repository zu übertragen.

  1. Erstellen Sie einen neuen Ordner in Ihrem Home-Verzeichnis.

    mkdir ~/docker-cli-tutorial
  2. Navigieren Sie zu dem Ordner, den Sie erstellt haben.

    cd ~/docker-cli-tutorial
  3. Erstellen Sie ein leeres Dockerfile.

    touch Dockerfile
  4. Öffnen Sie die Datei beispielsweise nano Dockerfile mit einem Texteditor und fügen Sie den folgenden Inhalt ein.

    # Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
  5. Das Dockerfile kann jetzt erstellt werden. Erstellen Sie den Container, indem Sie ihn ausführen. docker build Kennzeichnen Sie den Container mit einem easy-to-type Namen, der in future Befehlen verwendet werden kann.

    docker build --tag test-container .

    Stellen Sie sicher, dass Sie den letzten Punkt (.) angeben.

    Bild des darin AWS CloudShell docker Docker-Build-Befehls.
  6. Sie können den Container jetzt testen, um zu überprüfen, ob er korrekt ausgeführt wird. AWS CloudShell

    docker container run test-container
    Bild des Docker-Container-Ausführungsbefehls im Inneren AWS CloudShell
  7. Da Sie nun über einen funktionierenden Docker-Container verfügen, müssen Sie ihn in ein ECR Amazon-Repository verschieben. Wenn Sie bereits über ein ECR Amazon-Repository verfügen, können Sie diesen Schritt überspringen.

    Führen Sie den folgenden Befehl aus, um ein ECR Amazon-Repository für dieses Tutorial zu erstellen.

    ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
    Bild des Befehls, der zum Erstellen eines ECR Amazon-Repositorys verwendet wurde AWS CloudShell
  8. Nachdem Sie das ECR Amazon-Repository erstellt haben, können Sie den Docker-Container dorthin verschieben.

    Führen Sie den folgenden Befehl aus, um die ECR Amazon-Anmeldeinformationen für Docker abzurufen.

    AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
    Bild des Befehls, mit dem die ECR Amazon-Anmeldeinformationen für Docker abgerufen wurden.
    Anmerkung

    Wenn die AWS_REGION Umgebungsvariable in Ihrer nicht festgelegt ist CloudShell oder Sie mit Ressourcen in anderen interagieren möchten AWS-Regionen, führen Sie den folgenden Befehl aus:

    AWS_REGION=<your-desired-region>
  9. Taggen Sie das Bild mit dem ECR Amazon-Ziel-Repository und übertragen Sie es dann in dieses Repository.

    docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
    Bild des Befehls, der verwendet wurde, um das Bild mit dem ECR Amazon-Ziel-Repository zu kennzeichnen.

    Wenn Sie beim Durcharbeiten dieses Tutorials auf Fehler oder Probleme stoßen, finden Sie im Abschnitt zur Fehlerbehebung in diesem Handbuch Hilfe.

Bereinigen

Sie haben Ihren Docker-Container jetzt erfolgreich in Ihrem ECR Amazon-Repository bereitgestellt. Führen Sie den folgenden Befehl aus, um die in diesem Tutorial erstellten Dateien aus Ihrer AWS CloudShell Umgebung zu entfernen.

  • cd ~ rm -rf ~/docker-cli-tutorial
  • Löschen Sie das ECR Amazon-Repository.

    aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}