Docker
Docker1 ist eine Open-Source-Plattform, die ermöglicht, Anwendungen in Containern zu erstellen, bereitzustellen und auszuführen. Container sind isolierte Umgebungen, die alle notwendigen Abhängigkeiten und Ressourcen einer Anwendung enthalten, einschließlich des Betriebssystems, der Bibliotheken und anderer Komponenten.
Durch die Verwendung von Docker können Anwendungen weitgehend unabhängig von der zugrunde liegenden Infrastruktur bereitgestellt werden.
Installation
In den meisten Repos der gängigen Linuxdistributionen ist Docker out-of-the-Box enthalten, auch in Debian. Da Debian aber deutlich längere Releasezyklen hat, als Docker selbst kann es sinnvoll sein, die öffiziellen Docker-Repos2 zu nutzen.
apt install apt-transport-https curl gnupg ca-certificates lsb-release
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg \
--dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) \
signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-compose
docker run hello-world
Docker legt die meisten seiner Daten in /var/lib/docker/
ab, es kann daher sinnvoll sein, diesen Pfad auf einem eigenen Datenträger/eigener Partition abzulegen, insbesondere wenn man Docker die Verwaltung von volumes
3 überlassen will und die persistent zu speichernden Daten nicht über einen bind-mount
4 verwaltet.
Sowohl die Datenablage für volumes
, als auch die für bind-mounts
sollten sich auf einem LVM5- oder ZFS6-Volume mit ausreichend großem Speicherplatz für snapshots
befinden, damit man von diesen ein Backup
erstellen kann, ohne dass sie die zu sichernden Daten während der Sicherung verändern. Dies ist auch praktisch, wenn man seine Docker-Images automatisiert aktualisieren will. Man kann zwar meist zu einer älteren Version des Images zurückkehren, wenn die Daten in den zugehörigen Volumes aber dann breits auf eine neuere Datenbankversion migriert worden, hilft das natürlich wenig, denn es gibt nur selten einen Downgradpfad.