Vertrauenswürdige Images¶
Wir nutzen oft öffentliche Images aus offiziellen Quellen.
Wie sieht es aber mit wirklich vertrauenswürdigen Images aus? Also Images, deren Inhalte wir letztlich komplett selber erstellt haben.
Hinweis
Jedes lokale erstellte Image kann später immer nur über eine Registry genutzt werden!
Aus diesem Grund folgen entsprechende Übungen immer erst nach der Beschäftigung und Nutzung von eigenen Registries und einem Check, ob solcherlei Images von Interesse sind.
Debian / Ubuntu: (c)debootstrap¶
Diese Systeme gehen mit einem eigenen Tool zum Extrahieren eines Tarball aus einem System an den Start:
debootstrap bzw. cdebootstrap
(Article Stackexchange - debootstrap vs. cdebootstrap )
Das Tool kann über das gleichnamige Paket installiert werden.
debootstrap --variant=minbase bookworm ./rootfs
tar -C ./rootfs -c . | docker import - joebrandes/debian:12
Anm.: nach Test ca. 199 MB groß!
Eigenes Basis-Image¶
Wir erstellen/installieren ein Template-System (hier: openSUSE) und erstellen daraus einen Tarball.
tar --numeric-owner --exclude=/proc --exclude=/sys --exclude=/.snapshots -cvf opensuse.tar /
Dieses lässt sich dann auf dem Docker-Host wieder Importieren.
docker import opensuse.tar joebrandes/opensuse:42.3
Images from Scratch¶
Wir starten über die offizielle Docker Registry: Offizielles Image Scratch
Anm.: dieses besondere Image lässt sich nur - siehe Anleitung - in einem Dockerfile nutzen. Man kann es also nicht pullen!
Image-Erzeugungen per Skriptes - CentOS!!¶
Beispiel mit CentOS: (Anm.: lange nicht mehr gecheckt! Welche CentOS Version?)
YUM-Based mit Skript online
Oder über das Moby-Project: wget https://raw.githubusercontent.com/moby/moby/master/contrib/mkimage-yum.sh
CentOS lieferte auch ein Tool mit - Aufruf:
bash mkimage-yum.sh joebrandes/centos
Und vielleicht wurde schon deutlich: bei CentOS stellen sich mir viele Fragen.
SUSE/SLES sle2docker¶
Auf Ruby basierendes spezielles Tool mit speziellen Registries für Suse-Plattformen.
Auf Github Projektseite sle2docker hat sich viele Jahre nichts getan.