Docker 20.10 erschienen: Hurra, wir leben noch!

Die quelloffene Variante der Containerisierungssoftware kann ohne Root-Rechte arbeiten und bringt Anpassungen an CentOS und Fedora. Auch Swarm lebt weiter.

In Pocket speichern vorlesen Druckansicht 55 Kommentare lesen
Das Konferenzgebäude der DockerCon.

(Bild: Merlin Schumacher (c't magazin))

Lesezeit: 4 Min.
Inhaltsverzeichnis

Am Ende eines für Docker äußerst turbulenten Jahres ist nun mit Docker 20.10 das erste größere Release seit Version 19.03.0 vom Juli 2019 erschienen. Die Software bringt einige Anpassungen für CentOS und Fedora und kann nun auch im Rootless-Modus arbeiten. Außerdem sind einige bisher als experimentell gekennzeichnete Optionen unter anderem zum Einbinden von Credentials stabil, und Docker Swarm kann Batch-Jobs abarbeiten.

Im Zusammenspiel mit CentOS 8 setzt Docker nun die firewalld-Konfiguration selbsttätig auf. Unter Version 19.03 musste die Einstellung der Hostnamen und Ports von Hand erfolgen. Außerdem unterstützt das neue Release für die Zuordnung von Ressourcen unter anderem für CPU-Last, Speicher und Netzwerk neuerdings cgroup v2 und damit die standardmäßige cgroup von Fedora. Damit müssen Fedora-Anwender ihr Betriebssystem nicht mehr auf cgroup v1 zurückstufen.

Bisher war der Rootless-Modus, der den Betrieb der Software inklusive des Docker Daemon und der Container ohne Root-Privilegien ermöglicht, als experimentell gekennzeichnet. In Docker 20.10 gilt er nun als stabil.

Durch die Einführung von cgroup v2 ist es zudem neuerdings möglich, im Rootless-Modus Ressourcebeschränkungen unter anderem für die CPU- und Speicherzuteilung über docker run --cpus beziehungsweise docker run --memory zu setzen. Im Zusammenspiel mit cgroup v1 funktionieren die Befehle aus Sicherheitsgründen nicht.

Docker Swarm mag inzwischen keine große Rolle mehr spielen, findet aber wohl nach wie vor genügend Anwendung, dass Docker 20.10 das Orchestrierungstool erweitert. So lassen sich nun Batch-Jobs ähnlich zu Kubernetes Jobs verwenden. Der Blogbeitrag führt ein Beispiel auf, dass /etc/some-file auf dem Host-Dateisystem aller Swarm-Knoten erstellt:

$ docker service create \
  --name create-file-on-all-nodes \
  --mode global-job \
  --mount type=bind,src=/,dst=/mnt \
  alpine \
  sh -exc "echo foo > /mnt/etc/some-file"

Seit Version 18.06 kennt Dockerfile den seinerzeit als experimentell gekennzeichneten Parameter --mount=type=cache für den RUN-Befehl, um die im Cache befindlichen Dateien des Paketmanagers beizubehalten. Mit Version 18.09 kamen die ebenfalls experimentellen Parameter --mount=type=secret zum Einbinden von Credentials beziehungsweise --mount=type=ssh für SSH-Credentials hinzu. Die Parameter gelten jetzt allesamt als stabil.

Vor einem guten Jahr hat Docker Inc. sein Enterprise-Geschäft an Mirantis verkauft und gleichzeitig den CEO Rob Bearden durch Scott Johnston ausgetauscht. Der Gründer des Unternehmens Solomon Hykes hatte sich bereits 2018 zurückgezogen, und dessen direkter Nachfolger Steve Singh war nur ein Jahr am Steuer. In den weiteren Monaten hat Docker mehr und mehr an Boden im Container-Umfeld verloren. Vor kurzem hat Kubernetes sich von Docker verabschiedet, und die Anbindung gilt im frischen 1.20-Release von Kubernetes als überholt (deprecated).

Mirantis zeigt derweil weiter Engagement zumindest für die erworbene Enterprise-Sparte. So hat das Unternehmen angekündigt, die veraltete Kuberentes-Dockershim weiter zu unterstützen. Bereits im Februar hatte das Unternehmen eine längerfristig ausgerichtete Weiterentwicklung für Docker Swarm angekündigt.

Weitere Details zu Docker 20.10 lassen sich der offiziellen Ankündigung entnehmen, der an mehreren Stellen betont, dass Docker nicht tot sei: "Yes, it's alive" steht bereits in der Überschrift, weiter unten folgt in Fettschrift zu Dockershim "Docker is not dead", und auch der Bereich zu Docker Swarm beginnt mit dem Satz "Everyone thinks Swarm is dead, but it is still alive". Das Installationsskript für Docker findet sich auf der Docker-Site und lässt sich über curl -fsSL https://get.docker.com/ | sh aufrufen.

(rme)