(VERALTET) Erstellen von Containerimages zur Verwendung mit Azure Container Service
Tipp
Die aktualisierte Version dieses Lernprogramms, das Azure Kubernetes Service verwendet, finden Sie im Lernprogramm: Vorbereiten einer Anwendung für Azure Kubernetes Service (AKS).
Warnung
Azure Container Service (ACS) wird ausgemustert. Für ACS werden keine neuen Features oder Funktionen mehr hinzugefügt. Sämtliche APIs, Portalfunktionen, CLI-Befehle und Dokumentationen werden als veraltet gekennzeichnet.
2017 wurde Azure Kubernetes Service (AKS) eingeführt, um die Verwaltung, die Bereitstellung und den Betrieb von Kubernetes zu vereinfachen. Falls Sie den Kubernetes-Orchestrator verwenden, migrieren Sie bitte bis spätestens 31. Januar 2020 zu Azure Kubernetes Service. Informationen zu den ersten Schritten finden Sie unter Migration von Azure Container Service (ACS) zu Azure Kubernetes Service (AKS).
Weitere Informationen finden Sie unter Einstellung von Azure Container Service am 31. Januar 2020.
In diesem Tutorial – Teil 1 von 7 – wird eine Anwendung mit mehreren Containern für die Verwendung in Kubernetes vorbereitet. Folgende Schritte werden ausgeführt:
- Klonen der Anwendungsquelle von GitHub
- Erstellen eines Containerimages aus der Anwendungsquelle
- Testen der Anwendung in einer lokalen Docker-Umgebung
Nach Abschluss kann in Ihrer lokalen Entwicklungsumgebung auf die folgende Anwendung zugegriffen werden.
In den nachfolgenden Tutorials wird das Containerimage in eine Azure Container Registry-Instanz hochgeladen und anschließend in einem in Azure gehosteten Kubernetes-Cluster ausgeführt.
Voraussetzungen
In diesem Tutorial wird vorausgesetzt, dass zentrale Docker-Begriffe wie Container und Containerimages sowie grundlegende Docker-Befehle bekannt sind. Eine Einführung in die Grundlagen der Container finden Sie bei Bedarf unter Get started with Docker (Erste Schritte mit Docker).
Für dieses Tutorial ist eine Docker-Entwicklungsumgebung erforderlich. Für Docker sind Pakete erhältlich, mit denen Docker problemlos auf einem Mac-, Windows- oder Linux-System konfiguriert werden kann.
Azure Cloud Shell umfasst keine Docker-Komponenten, die zum Abschließen der einzelnen Schritte dieses Tutorials erforderlich sind. Aus diesem Grund wird empfohlen, eine vollständige Docker-Entwicklungsumgebung zu verwenden.
Abrufen von Anwendungscode
Die in diesem Tutorial verwendete Beispielanwendung ist eine einfache Abstimmungs-App. Die Anwendung besteht aus einer Front-End-Webkomponente und einer Back-End-Redis-Instanz. Die Webkomponente wird in ein benutzerdefiniertes Containerimage gepackt. Die Redis-Instanz verwendet ein nicht modifiziertes Image aus Docker Hub.
Verwenden Sie Git, um eine Kopie der Anwendung in Ihre Entwicklungsumgebung herunterzuladen.
git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Wechseln Sie in das Verzeichnis, sodass Sie im geklonten Verzeichnis arbeiten.
cd azure-voting-app-redis
Im Verzeichnis befinden sich der Anwendungsquellcode, eine vorab erstellte Docker Compose-Datei und eine Kubernetes-Manifestdatei. Diese Dateien werden während des Tutorials verwendet.
Erstellen von Containerimages
Docker Compose kann verwendet werden, um die Erstellung von Containerimages und die Bereitstellung von Anwendungen mit mehreren Containern zu automatisieren.
Führen Sie die Datei docker-compose.yml
aus, um das Containerimage zu erstellen, das Redis-Image herunterzuladen und die Anwendung zu starten.
docker-compose up -d
Verwenden Sie anschließend den Befehl docker-images, um die erstellten Images anzuzeigen.
docker images
Beachten Sie, dass drei Images heruntergeladen oder erstellt wurden. Das azure-vote-front
-Image enthält die Anwendung und verwendet das nginx-flask
-Image als Grundlage. Das redis
-Image wird zum Starten einer Redis-Instanz verwendet.
REPOSITORY TAG IMAGE ID CREATED SIZE
azure-vote-front latest 9cc914e25834 40 seconds ago 694MB
redis latest a1b99da73d05 7 days ago 106MB
tiangolo/uwsgi-nginx-flask flask 788ca94b2313 9 months ago 694MB
Führen Sie den Docker ps-Befehl aus, um die ausgeführten Container anzuzeigen.
docker ps
Ausgabe:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82411933e8f9 azure-vote-front "/usr/bin/supervisord" 57 seconds ago Up 30 seconds 443/tcp, 0.0.0.0:8080->80/tcp azure-vote-front
b68fed4b66b6 redis "docker-entrypoint..." 57 seconds ago Up 30 seconds 0.0.0.0:6379->6379/tcp azure-vote-back
Lokales Testen der Anwendung
Navigieren Sie zu https://localhost:8080
, um die ausgeführte Anwendung anzuzeigen.
Bereinigen von Ressourcen
Nach der Überprüfung der Funktionsfähigkeit der Anwendung können die ausgeführten Container beendet und entfernt werden. Löschen Sie die Containerimages nicht. Das azure-vote-front
-Image wird im nächsten Tutorial in eine Azure Container Registry-Instanz hochgeladen.
Führen Sie folgenden Befehl aus, um die ausgeführten Container zu beenden.
docker-compose stop
Löschen Sie die beendeten Container und Ressourcen mit dem folgenden Befehl:
docker-compose down
Nach Abschluss des Vorgangs verfügen Sie über ein Containerimage, das die Azure Voting-Anwendung enthält.
Nächste Schritte
In diesem Tutorial wurde eine Anwendung getestet und es wurden Containerimages für die Anwendung erstellt. Die folgenden Schritte wurden durchgeführt:
- Klonen der Anwendungsquelle von GitHub
- Erstellen eines Containerimages aus der Anwendungsquelle
- Testen der Anwendung in einer lokalen Docker-Umgebung
Wechseln Sie zum nächsten Tutorial, und erfahren Sie, wie Containerimages in einer Azure Container Registry gespeichert werden.