© Excellent backgrounds/Shutterstock.com
Kolumne: Docker rockt Java

Kolumne: Docker rockt Java


Das Docker-Ökosystem wächst unaufhaltsam, und alle zwei Monate gibt es ein neues Release der Docker-Werkzeuge. Das Release von Anfang 2016 bringt größere Veränderungen und schafft neue Möglichkeiten. Denn erstmalig ist das Docker-Image-Format grundlegend verändert worden. Docker-Compose realisiert ein neues Format mit der Unterstützung von Multi-Host-Network- und Volume-Management.

Neben zahlreichen kleinen Ergänzungen und vielen Bugfixes bringt das neue Engine-Release eine sicherere Grundlage für die Referenzierung von Images und Layern. Endlich werden die Image-IDs auf der Basis der Inhalte eines Layers gebildet. Die neuen IDs ermöglichen dem Docker-Hub und der neuen Registry 2.3 endlich eine bessere Deduplication-Erkennung und damit das effektive Sparen von jeder Menge Plattenplatz. Images lassen sich nun einfach auf verschiedenen Hosts erzeugen, gleiche Inhalte generieren nun dieselben IDs. Außerdem ermöglicht ein neues Manifestformat schnelleres Laden von Layern. Nach dem Start der neuen Engine wird nun eine automatische Aktualisierung bestehender Images durchgeführt. Wer viele Images auf einem Docker-Host installiert hat, kann deshalb mit einer längeren Wartezeit rechnen. Für diesen Zweck ist das Docker-Migration-Tool besser geeignet, siehe [1] und Kasten: „Anleitung zur Migration der Docker-Images auf das neue Format“.

Anleitung zur Migration der Docker-Images auf das neue Format

  • Stopp der alten Docker-Engine

  • Back-up des Docker-Hosts vor dem Update

  • Start der alten Docker-Engine

  • Start der Migration mit docker run --rm -v /var/lib/docker:/var/lib/docker --privileged docker/v1.10-migrator

  • Stopp der alten Docker-Engine

  • Update auf die neue Docker-Engine 1.10 und Start der neue Engine mit Containern

Eine erfreuliche Erweiterung ist die Möglichkeit, zur Laufzeit die Beschränkungen der Ressourcen CPU, Memory und I/O zur Laufzeit mit dem Docker-Befehl docker update verändern zu können, siehe Listing 1. Weitere Sicherheitsmerkmale sind in der Docker-Engine mit der Unterstützung von User-Maps zur Isolierung von Nutzern in Containern und der Nutzung des Seccomp-Standards hinzugekommen [2], [3]. Weitere Plug-in-APIs für Authentifikation und IPAM-Management sorgen für zusätzliche Möglichkeiten, die Engine zu erweitern. Für die flexiblere und schnellere Namensauflösung sorgt nun ein lokaler DNS-Server.

Listing 1: Docker-Update in Action

$ docker run -d --name node1 \ --cpu-shares 2048 --cpuset-cpus 0,1 infrabricks/stress $ docker run -d --name node2 \ ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang