Blog

So stellen Sie eine Docker-Anwendung in der Produktion auf Amazon AWS bereit

Mark van Holsteijn

Aktualisiert Oktober 22, 2025
3 Minuten

Docker hat vor ein paar Monaten den Produktionsstatus erreicht. Aber die Container-Technologie allein reicht nicht aus. Sie benötigen eine vollständige Plattforminfrastruktur, bevor Sie Ihre Docker-Anwendung in der Produktion einsetzen können. Amazon AWS bietet genau das: eine Plattform in Produktionsqualität, die Kapazitätsbereitstellung, Lastausgleich, Skalierung und Überwachung des Anwendungszustands für Docker-Anwendungen bietet. In diesem Blog erfahren Sie, wie Sie eine Docker-Anwendung in fünf einfachen Schritten für die Produktion bereitstellen.

Zu Demonstrationszwecken werden Sie die node.js-Anwendung verwenden, die für CloudFoundry erstellt und in einem früheren Beitrag zur Demonstration von Deis verwendet wurde. Eine wirklich nützliche Anwendung, deren Quellen auf github verfügbar sind.

1. Erstellen Sie eine Dockerdatei

Als erstes müssen Sie eine Dockerdatei erstellen, um ein Image zu erzeugen. Das ist ganz einfach: Sie installieren die Pakete node.js und npm, kopieren die Quelldateien und installieren die Javascript-Module.
# DOCKER-VERSION 1.0
FROM    ubuntu:latest
#
# Install nodejs npm
#
RUN apt-get update
RUN apt-get install -y nodejs npm
#
# add application sources
#
COPY . /app
RUN cd /app; npm install
#
# Expose the default port
#
EXPOSE  5000
#
# Start command
#
CMD ["nodejs", "/app/web.js"]

2. Testen Sie Ihre Docker-Anwendung

Jetzt können Sie das Docker-Image erstellen und es testen. [code language="bash"] $ docker build -t sample-nodejs-cf . $ docker run -d -p 5000:5000 sample-nodejs-cf [/code] Richten Sie Ihren Browser auf xebia.com/blog:5000, klicken Sie auf die Schaltfläche "Start" und Presto!

3. Zippen Sie die Quellen

Da Sie nun wissen, dass die Instanz funktioniert, zippen Sie die Quelldateien. Das Image wird auf Amazon AWS auf der Grundlage Ihrer Dockerdatei erstellt. [code language="bash"] $ zip -r /tmp/sample-nodejs-cf-srcs.zip . [/code]

4. Docker-Anwendung auf Amazon AWS bereitstellen

Jetzt installieren und konfigurieren Sie die amazon AWS-Befehlszeilenschnittstelle (CLI) und stellen die Docker-Quelldateien auf Elastic Beanstalk bereit. Sie können dies alles manuell tun, aber hier verwenden Sie das Skript deploy-to-aws.sh, das ich erstellt habe. [code language="bash"] $ deploy-to-aws.sh sample-nodejs-cf /tmp/sample-nodejs-cf-srcs.zip demo-env [/code] Nach etwa 8-10 Minuten läuft Ihre Anwendung. Die Ausgabe sollte wie folgt aussehen.
INFO: Anwendung sample-nodejs-cf erstellen
INFO: Erstellen der Umgebung demo-env für sample-nodejs-cf
INFO: Hochladen von sample-nodejs-cf-srcs.zip für sample-nodejs-cf, Version 1412948762.
hochladen: ./sample-nodejs-cf-srcs.zip to s3://elasticbeanstalk-us-east-1-233211978703/1412948762-sample-nodejs-cf-srcs.zip
INFO: Version 1412948762 der Anwendung sample-nodejs-cf erstellen
INFO: demo-env im Status Launching, waiting to get to Ready.
...
INFO: demo-env im Status Launching, waiting to get to Ready.
INFO: Aktualisierung der Umgebung demo-env mit der Version 1412948762 von sample-nodejs-cf
INFO: demo-env im Status Aktualisieren, warten auf Fertig.
...
INFO: demo-env im Status Aktualisieren, warten auf Fertig.
INFO: Version 1412948762 von sample-nodejs-cf in der Umgebung bereitgestellt
INFO: Der aktuelle Status ist Bereit, gehen Sie zu https://demo-env-vm2tqi3qk4.elasticbeanstalk.com

5. Testen Sie Ihre Docker-Anwendung im Internet!

Ihre Anwendung ist jetzt im Internet verfügbar. Rufen Sie die angegebene URL auf und klicken Sie auf Start. Wenn Sie die Anzahl der Instanzen bei Amazon erhöhen, werden diese in der Anwendung angezeigt. Wenn Sie eine neue Version der Anwendung bereitstellen, können Sie beobachten, wie neue Versionen der Anwendung ohne Fehler in der Client-Anwendung erscheinen. Weitere Informationen finden Sie unter Amazon Elastic Beanstalk fügt Docker-Unterstützung hinzu. und Dockerizing a Node.js Web App.

Verfasst von

Mark van Holsteijn

Mark van Holsteijn is a senior software systems architect at Xebia Cloud-native solutions. He is passionate about removing waste in the software delivery process and keeping things clear and simple.

Contact

Let’s discuss how we can support your journey.