So aktualisieren Sie auf Docker Compose v2
Webagentur » Digitale Nachrichten » So aktualisieren Sie auf Docker Compose v2

So aktualisieren Sie auf Docker Compose v2

Nach fast einem Jahr in der Beta ist Docker Compose v2 als stabile Version des Container-Management-Tools allgemein verfügbar. Die meisten Benutzer sollten heute in der Lage sein, den Wechsel vorzunehmen. In diesem Leitfaden zeigen wir Ihnen, wie Sie Ihr Upgrade vorbereiten und anwenden.

Was ist neu in v2?

Docker Compose v2 bringt vertraute Compose-Funktionen in den Alltag docker CLI. Anstatt mit anderen zu interagieren docker-compose Binärdatei, die Sie jetzt verwenden docker compose. Compose ist in Docker integriert.

Sie können die Befehle wie folgt ersetzen:

$ docker-compose up -d

Mit folgendem Aufruf:

$ docker komponieren -d

Compose v2 enthält auch einige neue Funktionen, die das Benutzererlebnis verbessern:

  • Sie können verwenden docker compose cp um Dateien zwischen Ihrem Host und Containern zu kopieren.
  • Cloud-Anbieter sind gültige Ziele, die Ihnen erlauben docker compose up zum Bereitstellen von Containern auf Amazon ECS oder Microsoft ACI.
  • Serviceprofile werden vollständig unterstützt, was es einfach macht, Container selektiv in einen Stack aufzunehmen.
  • Vereinfachte Projektverwaltung: Führen Sie Befehle aus, ohne sich im selben Verzeichnis wie Ihr zu befinden docker-compose.yml Ordner mit docker compose --project-name my-project stop . Es gibt auch eine neue docker compose ls Befehl, der alle Ihre Compose-Projekte auflistet.
  • Docker Compose ist jetzt wie Docker selbst in Go geschrieben, anstatt ein separates Python-Dienstprogramm zu sein. Dadurch kann Compose den Kerncode der Docker-CLI wiederverwenden und ein konsistenteres Verhalten erzielen.

Inkompatibilitäten mit v1

Compose v2 ist in fast allen Anwendungsfällen mit v1 kompatibel. Sie müssen Ihre nicht ändern docker-compose.yml Dateien oder lernen Sie neue Befehle, mit Ausnahme des Änderns docker-compose à docker compose. Wenn Sie Ihre eigenen Werkzeuge in der Nähe haben docker-compose Befehl, können Sie ihn in Anruf ändern docker compose Stattdessen.

Während die meisten Migrationen unkompliziert sein sollten, führt Compose v2 einige wichtige Änderungen ein, die sich auf bestimmte Anwendungsfälle auswirken können:

  • Container werden jetzt mit Bindestrichen anstelle von Unterstrichen im Namen erstellt. Es bedeutet einen Dienst namens db in der app Projekt erstellt nun einen Container namens app-dbstatt app_db. Dies könnte Skripte beschädigen, die erwarten, dass das alte Containernamensformat verwendet wird. Die Änderung kann derzeit durch Einschließen der deaktiviert werden --compatibility Flagge mit docker compose Aufträge.
  • docker compose build standardmäßig mit BuildKit erstellt. BuildKit ist das moderne Imaging-System von Docker, mit dem Builds viel schneller erstellt werden können. BuildKit ist das empfohlene Build-System, aber es gibt immer noch einige Inkompatibilitäten mit dem Legacy-Build-Mechanismus, die unter bestimmten Umständen Probleme verursachen können. Sie können BuildKit deaktivieren, indem Sie die DOCKER_BUILDKIT=0 Umgebungsvariable vor dem Ausführen docker compose Aufträge.
  • Einige veraltete Befehlsflags wurden entfernt. docker compose rm --all wird nicht unterstützt und die docker compose scale Der Befehl wird zugunsten von weggelassen docker compose up --scale. Sie müssen alle Skripts ändern, die auf dem basieren docker-compose Versionen dieser Befehle.

Upgrade unter Linux

Obwohl sich Compose jetzt in die Docker-CLI integriert, ist es in Docker Engine nicht standardmäßig aktiviert. Sie können Compose v2 installieren, indem Sie es als Docker-CLI-Plugin hinzufügen. Sie müssen über die Docker-Version v20.10.13 oder höher verfügen.

Aktualisieren Sie Ihre Paket-Repositorys und installieren Sie sie docker-compose-plugin:

$ sudo apt update $ sudo apt install docker-compose-plugin

Überprüfen Sie, ob die Installation erfolgreich war, indem Sie die Docker Compose-Version abrufen:

$ Docker Compose-Version Docker Compose-Version v2.3.3

Sie können jetzt Docker Compose v1 entfernen, es sei denn, Sie möchten es aus Gründen der Kompatibilität mit Legacy-Skripts beibehalten. Beide docker-compose (v1) und docker compose (v2) können bei Bedarf nebeneinander existieren. Wenn Sie v1 entfernen, wird es normalerweise als einzelne Binärdatei gefunden /usr/local/bin/docker-compose:

$ sudo rm /usr/local/bin/docker-compose

Sie können jetzt einen Shell-Alias ​​für die Umleitung konfigurieren docker-compose à docker compose. Auf diese Weise können Sie mit Ihrer neuen v1-Installation weiterhin Skripts verwenden, die Compose v2 erwarten.

$ echo 'alias docker-compose="docker compose"' >> ~/.bashrc $ source ~/.bashrc $ docker-compose-Version Docker Compose-Version v2.3.3

Sie können jetzt mit der Verwaltung Ihrer Container mit Compose v2 beginnen.

Upgrade mit Docker Desktop für Windows und Mac

Compose v2 ist in den Docker Desktop-Versionen 3.4 und höher enthalten. v2 wurde zur Standardversion von Compose in v4.4.2; Wenn Sie das Upgrade bereits durchgeführt haben, können Sie es verwenden docker compose heute.

Bild der Docker Compose v2-Verwaltung in den Docker Desktop-Einstellungen

v4.4.2 auch Aliase docker-compose à docker compose automatisch. Compose v1 ist standardmäßig nicht zugänglich. Sie können dieses Aliasing deaktivieren, indem Sie die ausführen docker-compose disable-v2 Befehl oder durch Deaktivieren des Kontrollkästchens „Use Docker Compose v2“ auf der Einstellungsseite von Docker Desktop. Das docker-compose Die Steuerung kehrt dann zur Verwendung von Compose v1 zurück.

Und dann?

Compose v1 wird für die nächsten sechs Monate weiterhin für Sicherheitsprobleme und Fehlerbehebungen mit „hohem Schweregrad“ unterstützt. Diese Unterstützung endet im Oktober 2022. v1 gilt dann als End-of-Life, daher sollte seine Verwendung vermieden werden. Zu diesem Zeitpunkt wird Docker Desktop aktualisiert seulement Unterstützung v2. Sie müssen verwenden docker compose als docker-compose Aliasing wird entfernt. Sie müssen auf einer älteren Version bleiben, wenn Sie noch v1 benötigen.

Sie können v1 auf unbestimmte Zeit weiter verwenden, indem Sie es als eigenständige Binärdatei installieren. Sie finden sie für Windows, Mac und Linux auf der GitHub-Release-Seite des Projekts. Obwohl diese Binärdateien weiterhin unbegrenzt funktionieren, sollten die meisten Projekte darauf abzielen, in naher Zukunft auf v2 zu aktualisieren. Dadurch erhalten Sie Zugriff auf alle Fehlerbehebungen, Sicherheitsupdates und neuen Funktionen in modernen Versionen von Compose v2.

Zusammenfassung

Docker Compose v2 ist jetzt die stabile Version von Docker Compose. Docker Desktop-Benutzer wurden automatisch aktualisiert. Linux-Installationen der Docker Engine werden von der neuen unterstützt docker-compose-plugin CLI-Plugin.

Der Support für Compose v1 endet in weniger als sechs Monaten. Sie müssen daher überprüfen, ob Ihre Skripte kompatibel sind, und dann v2 in den kommenden Wochen übernehmen. Sie können Compose in verwenden docker CLI und profitieren Sie von v2-Funktionen wie Dienstprofilen und docker compose ls bestellt.

★ ★ ★ ★ ★