Errata

Diese Seite enthält Updates und Errata zum Buch »Docker«.

S. 25 (Speicherbedarf von Docker unter macOS)

Docker reserviert beim Start eine Menge RAM für sich und gibt dieses nicht mehr frei, selbst wenn kein einziger Container läuft. In den Defaulteinstellungen sind das aktuell verrückte 3,5 GByte! Dieses Verhalten gilt anscheinend nicht als Bug. Der Issue-Report argumentiert, dass ein Großteil des Speichers ohnedies früher oder später in den Swap-Speicher ausgelagert wird. Wirklich plausibel erscheint dieses äußerst irritierende Verhalten aus unserer Sicht aber nicht.

S. 43 / S. 67 / S. 108 (Volumes auf Red-Hat-ähnlichen Distributionen)

Unter CentOS, Fedora und RHEL ist standardmäßig der Schutzmechanismus SELinux aktiv. Allerdings verbietet SELinux Volumes, die sich nicht in dem von Docker vorgesehenen Verzeichnis (/var/lib/docker/volumes) befinden. Wenn Sie also einen eigenen Ort angeben (z.B. in Ihrem Home-Verzeichnis), tritt ein Fehler auf. Abhilfe schafft das zusätzliche Flag :z oder :Z, das Sie der Volume-Option hinzufügen (also z.B. -v /var/db:/var/db:z). Details und Hintergrundinformationen finden Sie hier:

S. 69 (Dockerfile)

In der ersten Zeile des Listings auf S. 69 ist ein Leerzeichen zu viel. Es muss heißen FROM ubuntu:18.04 ohne Leerzeichen vor der Versionsnummer.

S. 72 bis 76 (Pandoc)

Wir haben das Dockerfile gerade mit Pandoc 2.3 neuerlich getestet. Beim Image-Build-Prozess trat dabei ein Fehler auf:

...
ExitFailure (-9)
This may be due to an out-of-memory condition.

Nach einigem Experimentieren hat sich herausgestellt, dass der Hinweis der Fehlermeldung tatsächlich zutrifft: dem Docker-Dämon stand zu wenig Speicher zur Verfügung. Auf dem Testrechner waren standardmäßig 2 GB eingestellt. Nach einer Vergrößerung auf 4 GB (erfordert einen Neustart des Docker-Dämons) läuft der Build-Prozess durch.

S. 84, docker logs

In den beiden letzten Absätzen der Seite steht zweimal mysql logs. Richtig ist natürlich das Kommando docker logs, ganz egal, welche Software im Container läuft.

S. 103, Dockerfile-Listing

In der 5. Zeile des Listings fehlt ein Backslash. (Alle Zeilen von RUN gehören zusammen.) Korrekt sieht das Listing so aus:

# Datei Dockerfile
FROM ubuntu:18.04
LABEL maintainer "kontakt@kofler.info"
RUN apt-get update && \
    apt-get install -y joe && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
CMD ["/bin/bash"]

Letzte Änderung 30.11.2018. Vielen Dank an alle Leser, die mir Feedback geben!