Auf dem Rücken des großen weißen Wals

Docker CE 17.06 veröffentlicht: Multi-stage-Builds und neue Features für den Swarm Mode
Kommentare

Drei Monate haben die Entwickler von Docker an der neuesten Version der Community Edition gearbeitet. An Bord von Docker CE 17.06 sind u.a. Multi-stage-Builds und neue Features für den Swarm Mode, die Desktop- sowie die Cloud-Editionen. Dabei basiert Docker zum ersten Mal vollständig auf Moby.

Docker ist nicht mehr, was es einmal war. Das ist natürlich etwas reißerisch ausgedrückt, denn Docker ist natürlich immer noch das Container-Tool, das Entwickler kennen und zum Großteil auch lieben. Trotzdem hat sich seit März, mit der Veröffentlichung vom Moby Project, einiges geändert. So gibt es nicht mehr nur „das“ eine Docker, sondern eine Community Edition (Docker CE) und eine Enterprise Edition (Docker EE). Auch das Versionierungsschema hat sich geändert: vorbei die Zeit, als das neueste Release noch etwa Docker 1.13 hieß. Heute ist Jahreszahl und Monat der Veröffentlichung die Versionsnummer.

Mehr zu den Docker-Versionen: Docker EE – Die Enterprise Edition von Docker

Erstmals basiert Docker komplett auf Moby

Auf der DockerCon im April kündigte Docker schließlich das Moby Project an. Moby dient in erster Linie dazu, Entwicklern die Möglichkeit zu geben, eigene Container-Systeme aufzusetzen. Die nötigen Werkzeuge und Komponenten werden mit Moby in einem Paket zur Verfügung gestellt, aus dem sich dann die gewünschten herauspicken und ganz nach eigenen Vorstellungen zu einem so genannten Assembly zusammenstellen lassen. Mit Docker CE 17.06 wird von den Machern hier nun erstmals eine Version veröffentlicht, die zu 100 Prozent auf besagtem Moby Project aufsetzt.

Docker CE 17.06 – Features

Multi-Stage-Builds

Die Community Edition beinhaltet in diesem Update erstmals eine stabile Version der sogenannten Multi-stage Builds. Diese dienen dem Zweck, aufgeräumte und kleinere Docker Images zu bauen. Dabei wird lediglich ein einzelnes Dockerfile genutzt. Funktionieren tut das ganze wie folgt:

Die Multi-stage Builds erstellen „Zwischenimages“, die einen Output produzieren. So lässt sich Code in einem Zwischenimage kompilieren, während im endgültigen Image ausschließlich der Output genutzt wird. Für Java-Entwickler, die Maven nutzen, bedeutet das etwa, dass sie Maven nicht mehr im finalen Image implementieren müssen, denn das wird ja nicht benötigt, um die Anwendung laufen zu lassen. Der Effekt: sehr viel kleinere Images.

Metriken & Logs

Wer gerne die Übersicht über seine Daten behält, kann nun unter anderem den /metrics-Endpunkt von Docker für Plug-ins zugänglich machen. Dieses Beispiel zeigt, wie:

$ docker plugin install --grant-all-permissions cpuguy83/docker-metrics-plugin-test:latest

$ curl http://127.0.0.1:19393/metrics

Metrik-Plug-ins sind definitiv, so die offizielle Aussage von Docker, für nicht-experimentelle daemons verfügbar. Die Metrik-Labels allerdings könnten sich zukünftig noch ändern. Übrigens werden in Docker CE 17.06 erstmals auch Log-Driver-Plug-ins unterstützt und die Docker Service Logs sind im Stable Release mittlerweile auch enthalten. Durch Letztere können User ganz einfach an konsolidierte Logs eines kompletten Services kommen, der auf einem Swarm läuft. Auch ein Endpoint für Logs von individuellen Tasks innerhalb eines Services ist nun verfügbar.

Docker Swarm Mode

Der Swarm Mode wurde um einige neue Funktionen erweitert und da Sicherheit vorgeht, unterstützt Docker nun Configuration Objects. Diese können dazu genutzt werden, Konfigurationsinformationen sicher weiterzugeben; im Einsatz sieht das ganze ungefähr so aus:

$ echo "This is a config" | docker config create test_config -

$ docker service create --name=my-srv —config=test_config …

$ docker exec -it 37d7cfdff6d5 cat test_config

This is a config

Die beliebten und nützlichen Docker Events dienen schon lange dem Zweck, Eventinformationen in Echtzeit von Docker zu bekommen. Besonders beim Schreiben von Automatisierungs- oder Monitoring-Anwendungen ist das hilfreich. Mit Docker CE 17.06 werden Events auch im Swarm Mode unterstützt, sodass diese Informationen über Services, Nodes, Netzwerke und Secrets ausgeben können.

Weitere Änderungen

Nutzer von Docker for Mac oder Docker for Windows kommen mit diesem Update in den Genuss einiger exklusiver Neuerungen. Dazu gehört unter anderem eine grafische Lösung, sämtliche Daten zurückzusetzen, ohne alle Einstellungen zu verlieren. Außerdem gibt es zwei neue experimentelle Hosts (docker.for.mac.localhost & docker.for.win.localhost), um auf offene Ports zugreifen zu können. Durch die neuen Login-Zertifikate kann man schnell und einfach auf bestimmte Registries zugreifen, somit ist es nicht nötig, jedes Mal Username und Passwort zu nutzen.

Für die beiden Cloud-Editionen Docker for AWS und Docker for Azure gibt es ab sofort das Cloudstor-Volume-Plug-in. Docker for AWS unterstützt zudem ab sofort persistente Volumes und EBS-Volumes in Availability Zones. In Docker for Azure hingeben wird ab Docker CE 17.06 das Deployment zu Azure Gov untersützt. Cloudstore in Verbindung mit dem Azure File Storage bringt die Unterstützung von persistenten Volumes auch für Azure Public und Azure Gov.

Eine schöne Feature-Übersicht gibt es auch diesmal wieder in Form eines Videos. Host ist Mano Marks, Docker Developer Relations Director:

Eine detailliertere Übersicht über die neuen Features der Docker CE 17.06 gibt es auf dem Blog von Docker. Eine vollständige Änderungsübersicht gibt es im entsprechenden Eintrag in der Dokumentation. Herunterladen kann man sich die CE 17.06 hier.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -