Skip to main content
Da Docker Compose von Azure Container Instances (ACI) nicht mehr unterstützt wird, musste stattdessen eine eigene ACI-kompatible YAML-Datei (deploy-aci.yml) erstellt werden. Zusätzlich kommt eine private Azure Container Registry (ACR) zum Einsatz, in der das Image der Applikation gespeichert ist.

Azure Container Registry

Die Azure Container Registry (ACR) ist ein privater Container-Registry-Dienst in Azure, der ähnlich wie Docker Hub funktioniert, aber besser in Azure integriert ist.
1

Registry erstellen

2

Bei der ACR anmelden

3

Service Principal für Zugriff erstellen

Ein Service Principal ist ein Identitätsobjekt in Azure, das es Anwendungen, Skripten oder Diensten erlaubt, sich authentifiziert und sicher bei Azure-Diensten anzumelden – ähnlich wie ein Benutzer, aber automatisiert und eingeschränkt. Er wird häufig verwendet, um Zugriffsrechte gezielt zu vergeben, z. B. nur Leserechte auf eine Container Registry. So kann eine Anwendung z. B. Images aus der ACR laden, ohne Zugriff auf andere Ressourcen zu erhalten.
Der Output enthält:
  • appId = Benutzername
  • password = Passwort
  • Diese Werte werden in der YAML-Datei verwendet.
4

Bei Docker anmelden

Nutze nun die appId und das password, um dich damit mit Docker anzumelden.
5

Image taggen und hochladen

Angenommen, das lokale Image heisst studle, dann:

Container Instanzen erstellen

Da Azure Container Instances (ACI) kein natives docker-compose mehr unterstützt, wird eine eigene YAML-Datei im Azure-Format benötigt, um mehrere Container zu definieren und zu konfigurieren. Ziel dieses Auftrags war es, eine bestehende docker-compose.yml in das Format deploy-aci.yml zu übersetzen und die Containergruppe über die Azure CLI bereitzustellen.
1

Erstellen der ACI-YAML-Datei

Die Datei deploy-aci.yml beschreibt eine Containergruppe, die mehrere Container umfasst:
  • App-Container mit Spring Boot Anwendung
  • Datenbank-Container mit MariaDB
  • Sidecar-Container für DNS-Auflösung (ACI-Workaround)
2

Deployment