Das mag jetzt etwas verwirrend erscheinen: Da haben wir neulich einen Linux-Container für unsere Docker-Umgebung gebaut, und jetzt basteln wir eine virtuelle Maschine?! Die Antwort lautet ganz einfach: Ja. Einer der Gründe ist CheckMK: Wir hatten ja neulich das Problem, dass da eine Warnung ausgegeben wird. Das liegt an Debian. Um es anders zu sagen: Ein Linux-Container ist kein eigenes Betriebssystem, sondern „bedient“ sich am Host-System, in meinem Fall also Proxmox. Dieses basiert auf Debian. Im Container haben wir also einen Proxmox-Kernel mit Debian-Hintergrund. Würde ich Docker und darin CheckMK direkt auf dem Proxmox-Server installieren, hätte ich dieselben Probleme.

Außerdem gibt es bei Containern noch eine kleine Einschränkung (die muss im Zusammenhang mit Docker nicht problematisch werden, aber wer weiß, was in Zukunft noch alles auf der Maschine seinen Dienst tun soll): Zugriff auf Netzlaufwerke (egal ob SMB oder NFS) ist nur mit sog. privilegierten Containern möglich. Das sind Container, die mehr Zugriff auf das darunter liegende Host-System haben; dies könnte irgendwann mal sicherheitsrelevant werden.

Also bauen wir uns eine VM mit Ubuntu, auf der wir Docker und das andere Geraffel installieren – die bisherigen Anleitungen zu Portainer, Bitwarden und CheckMK sollten ihre Gültigkeit behalten. Um die VM zu erstellen, klicken wir auf der Proxmox-Seite im rechten oberen Bereich auf die Schaltfläche „Erstelle VM“ – Proxmox startet einen Assistenten, der uns durch die Erstellung dieser Maschine führt:

Im ersten Reiter geben wir dem Kind einen Namen.

Weiter geht’s mit dem Betriebssystem: Wir können hier auswählen, von welcher ISO-Datei das OS installiert wird und um welchen Typ es sich handelt (wir haben die Wahl zwischen Linux, Windows, Solaris und Sonstigem – belassen wir’s bei Linux).

Die Einstellungen im Reiter „System“ können wir so übernehmen.

Beim Laufwerk kann auch alles bleiben, wie es ist; lediglich die Größe habe ich auf 40 GB festgelegt (aber auch eher aus persönlicher Präferenz als auch irgendwelchen wichtigen Gründen)…

Auch die CPU-Einstellungen können bleiben, wie sie sind.

Beim Speicher kleckern wir mal nicht – 8GB sollten fürs Erste reichen. Notfalls wird an dieser Schraube später noch gedreht…

Auch beim Netzwerk müssen wir nichts ändern. Hier zeigt sich der Unterschied zum Container: Wir können keine IP-Adresse festlegen (weder statisch noch per DHCP).

Das war’s auch schon. Der Assistent zeigt uns nochmal alles, damit wir notfalls noch Änderungen vornehmen können. Wir schließen den Assistenten ab, starten die Maschine aber noch nicht. Stattdessen klicken wir unter Hardware auf, klicken auf „Hinzufügen“ und wählen „Laufwerk“ aus:

Hier geben wir an, dass wir eine neue Festplatte mit einer Größe von 120GB haben wollen – auf der werden wir unsere Docker-Daten (also das Verzeichnis /var/lib/docker) ablegen.

Jetzt starten wir die Maschine und können unser Betriebssystem installieren (in meinem Fall Ubuntu Server) – wie das geht, erspare ich mir hier mal: Ich bevorzuge Ubuntu, andere vielleicht Debian, openSuSE, CentOS, Fedora oder was auch immer. Jeder weiß, wie er „sein“ Betriebssystem installiert, deshalb gehe ich da nicht weiter drauf ein (im Zweifel weiß Google das sowieso besser als ich).