Vorkonfigurierte Docker-Container (Amazon Linux AMI) - AWS Elastic Beanstalk

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.

Vorkonfigurierte Docker-Container (Amazon Linux AMI)

Anmerkung

Am 18. Juli 2022 stellte Elastic Beanstalk den Status aller Plattformzweige auf Basis von Amazon-Linux-AMI (AL1) auf außer Betrieb genommen. Weitere Informationen zur Migration zu einem aktuellen und vollständig unterstützten Plattformzweig für Amazon Linux 2023 finden Sie unter Migrieren der Elastic-Beanstalk-Linux-Anwendung zu Amazon Linux 2023 oder Amazon Linux 2.

Die vorkonfigurierte Docker-GlassFish-Plattformverzweigung, die auf dem Amazon-Linux-AMI (AL1) ausgeführt wird, wird nicht mehr unterstützt. Stellen Sie zum Migrieren Ihrer GlassFish-Anwendung zu einer Amazon-Linux-2023-Plattform GlassFish und den Anwendungscode in einem Amazon-Linux-2023-Docker-Image bereit. Weitere Informationen finden Sie im Thema Bereitstellen einer GlassFish-Anwendung auf der Docker-Plattform: Migrationspfad zu Amazon Linux 2023.

Dieser Abschnitt zeigt die lokale Entwicklung einer Beispielanwendung und die anschließende Bereitstellung in Elastic Beanstalk mit einem vorkonfigurierten Docker-Container.

Einrichten der lokalen Entwicklungsumgebung

Für diese Anleitung verwenden wir eine GlassFish-Beispielanwendung.

Einrichten Ihrer Umgebung
  1. Erstellen Sie einen neuen Ordner für die Beispielanwendung.

    ~$ mkdir eb-preconf-example ~$ cd eb-preconf-example
  2. Laden Sie den Beispiel-Anwendungscode in den neuen Ordner herunter.

    ~$ wget https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/samples/docker-glassfish-v1.zip ~$ unzip docker-glassfish-v1.zip ~$ rm docker-glassfish-v1.zip

Lokales Entwickeln und Testen

Entwickeln einer Beispiel-GlassFish-Anwendung
  1. Fügen Sie eine Dockerfile-Datei zum Stammordner der Anwendung hinzu. Geben Sie in der Datei an, mit welchem AWS Elastic Beanstalk Docker-Basis-Image von der lokale vorkonfigurierte Docker-Container ausgeführt werden soll. Sie stellen Ihre Anwendung später in einer vorkonfigurierten Plattformversion von Elastic Beanstalk-Docker-Glassfish bereit. Wählen Sie das Docker-Basis-Image, das diese Plattformversion verwendet. Informationen zum Bestimmen des aktuellen Docker-Image der Plattformversion finden Sie im Abschnitt Vorkonfigurierter Docker der Seite Von AWS Elastic Beanstalk unterstützte Plattformen im AWS Elastic Beanstalk-Plattformhandbuch.

    Beispiel ~/Eb-preconf-example/Dockerfile
    # For Glassfish 5.0 Java 8 FROM amazon/aws-eb-glassfish:5.0-al-onbuild-2.11.1

    Weitere Informationen zur Verwendung von Dockerfile finden Sie unter Docker-Konfiguration.

  2. Erstellen Sie das Docker-Image.

    ~/eb-preconf-example$ docker build -t my-app-image .
  3. Führen Sie den Docker-Container aus dem Image aus.

    Anmerkung

    Sie müssen das Flag -p einbinden, um Port 8080 auf dem Container dem Localhost-Port 3000 zuzuordnen. In Elastic Beanstalk stellen die Docker-Container die Anwendung stets über Port 8080 auf dem Container bereit. Mit den Flags -it wird das Image als interaktiver Prozess ausgeführt. Mithilfe des Flags --rm wird das Container-Dateisystem nach Beendigung des Containers bereinigt. Optional können Sie das Flag -d einbeziehen und das Image als Daemon ausführen.

    $ docker run -it --rm -p 3000:8080 my-app-image
  4. Geben Sie die folgende URL in den Webbrowser ein, um die Beispielanwendung anzuzeigen.

    http://localhost:3000
    
                Die GlassFish-Beispielanwendung in einem Webbrowser

Bereitstellen in Elastic Beanstalk

Nachdem Sie die Anwendung getestet haben, können Sie diese nun in Elastic Beanstalk bereitstellen.

So stellen Sie Ihre Anwendung in Elastic Beanstalk bereit
  1. Ändern Sie im Stammordner der Anwendung den Dateinamen von Dockerfile in Dockerfile.local. Dieser Schritt ist erforderlich, damit Elastic Beanstalk die Dockerfile-Datei mit den richtigen Anweisungen für Elastic Beanstalk verwendet, um ein angepasstes Docker-Image auf den einzelnen Amazon EC2-Instances in Ihrer Elastic Beanstalk-Umgebung zu erstellen.

    Anmerkung

    Dieser Schritt ist nicht nötig, wenn die Dockerfile-Datei Anweisungen enthält, mit denen das Docker-Basis-Image der Plattformversion geändert wird. Sie brauchen überhaupt keine Dockerfile-Datei, sofern die Dockerfile-Datei nur eine FROM-Zeile enthält und darin das Basis-Image angibt, mit dem der Container erstellt werden soll. In diesem Fall ist die Dockerfile-Datei überflüssig.

  2. Erstellen Sie das Quell-Bundle der Anwendung.

    ~/eb-preconf-example$ zip myapp.zip -r *
  3. Öffnen Sie die Elastic Beanstalk-Konsole mit diesem vorkonfigurierten Link: console.aws.amazon.com/elasticbeanstalk/home#/newApplication?applicationName=tutorials&environmentType=LoadBalanced

  4. Wählen Sie für Platform (Plattform) unter Preconfigured – Docker (Vorkonfiguriert – Docker) die Option Glassfish aus.

  5. Unter Application code wählen Sie Upload your code und dann Upload aus.

  6. Wählen Sie Local file (Lokale Datei), wählen Sie Browse (Durchsuchen) und öffnen Sie dann das Quell-Bundle, das Sie erstellt haben.

  7. Klicken Sie auf Hochladen.

  8. Klicken Sie auf Review and launch (Überprüfen und starten).

  9. Prüfen Sie die verfügbaren Einstellungen und wählen Sie Create app (Anwendung erstellen) aus.

  10. Wenn die Umgebung erstellt wurde, können Sie die bereitgestellte Anwendung anzeigen. Wählen Sie die Umgebungs-URL, die oben im Konsolendashboard angezeigt wird.