Tags: VMware Workstation, Container, Linux
Die VMware Workstation Pro bietet seit der Version 16 eine Unterstützung für Docker-Container, ohne dass man dafür eine virtuelle Maschine einrichten muss. Container-Aktionen wie Build, Run, Push oder Pull lassen sich über das Befehlszeilen-Tool vctl steuern. Damit kann man sehr einfach eine Entwicklungs- oder Testumgebung für Container einrichten.
Grundsätzlich kann man in einer Virtualisierungsumgebung wie der VMware Workstation natürlich jederzeit eine VM erstellen und dann innerhalb des Gastbetriebssystems die Docker-Unterstützung für Windows oder Linux nutzen. Dort verwaltet man diese mit den Bordmitteln.
Integrierte Container-Appliance
Der native Docker-Support in der VMware Workstation beschreitet hingegen einen anderen Weg. Er nutzt für jeden Container im Hintergrund eine leichtgewichtige VM mit Photon OS, der Linux-Variante von VMware. Um deren Einrichtung oder Konfiguration muss man sich nicht kümmern.
Die Verwaltung der Docker-Container erfolgt dann nicht von innerhalb dieser Service-VM, sondern über das Dienstprogramm vctl auf dem Host-OS. Wenn man es ohne Parameter aufruft, dann zeigt es alle unterstützten Schalter und Optionen an.
Um Docker-Container zu verwenden, reicht es, auf die Befehlszeile zu wechseln und folgenden Befehl einzugeben:
vctl system start
Danach kann man jederzeit mit dem Befehl
vctl system info
überprüfen, ob die Container-Umgebung in VMware Workstation läuft.
Beim obigen Befehl nutzt vctl die Standardeinstellungen für die virtuelle Appliance. Diese lassen sich aber anpassen, um beispielsweise die Größe der VM und des Volumes für die Datenspeicherung zu ändern.
Die Größe des virtuellen Laufwerks für die Container-VM beträgt normalerweise 128 GB, lässt sich aber mit der Option -s im Befehl
vctl system config --storage <Größe>
individuell anpassen.
Sie können diese Parameter auch beim Ausführen von vctl run angeben.
Das Flag "-c" steuert dabei die Anzahl der virtuellen CPUs für die VM, welche die Container hostet. Standardmäßig verwendet VMware Workstation Pro zwei vCPUs. Mit dem Flag "-m" (--vm-mem) lässt sich das vRAM konfigurieren. Dieses beträgt normalerweise 1.024 MB.
Um zum Beispiel eine virtuelle Maschine mit 4 CPU-Kernen, 256 GB Storage und 2 GB Speicher auszustatten, kann man den folgenden Befehl verwenden:
vctl system config --vm-cpus 4 --vm-mem 2048 --storage 256g
Container-Images herunterladen
Um Container zu starten, kann man entweder eine Docker-Datei oder einfach ein fertiges Image aus einem Repository verwenden. Diese lassen sich direkt aus der Befehlszeile herunterladen und in die VMware Workstation einbinden. Hier unterstützt "vtcl pull" im Wesentlichen die gleichen Optionen wie "docker pull".
Die vorhandenen Abbilder zeigt man mit
vctl images
an. Zu Beginn ist die Liste noch leer. Standardmäßig verwendet vctl als Quelle den Docker Hub. Um zum Beispiel ein Image des Web-Servers nginx herunterzuladen, geht man so vor:
vctl pull nginx
Ein weiteres einfaches Beispiel ist der Container "hello-world", der primär für das Testen der Umgebung dient.
Nach dem Download entpackt der Befehl das Image und dieses ist dann einsatzbereit. Falls ein Container-Repository eine Anmeldung benötigt, lässt sich diese mit dem Befehl
vctl login
erledigen, zum Beispiel mit
vctl login -u Benutzername -p Passwort myregistry:5000"
Alternativ zum Herunterladen kann man auch eigene Images speichern:
vctl build -t myImage:latest
Docker-Container stoppen und verwalten
Wenn Images heruntergeladen und in VMware Workstation integriert sind, lassen sie sich mit vctl anzeigen und starten. Am Beispiel des Web-Servers nginx sieht der Befehl zum Beispiel so aus:
vctl run -n myNginx -t -d nginx
Das Flag "-n" spezifiziert den lokalen Namen des Containers, der auf Basis des Images nginx erstellt werden soll.
Alle gestarteten Container lassen sich wiederum mit
vctl ps
anzeigen, alle angelegten Container, unabhängig vom Status, mit
vctl ps -a
Um ausführlichere Informationen für einen Container anzuzeigen, kann man den Befehl
vctl describe myNginx
für das obige Beispiel verwenden.
Container lassen sich mit stop-Befehl beenden, in unserem Beispiel mit:
vctl stop myNginx
Angehaltene Container bleiben bestehen und lassen sich mit start jederzeit wieder aktivieren. Soll der Container gelöscht werden, verwendet man die Option rm zusammen mit dem Namen des Containers.
Es ist auch möglich, Befehle von innerhalb des Containers auszuführen. Dazu setzt man Befehle nach diesem Muster ab:
vctl exec -it myNginx sh
Mit der Option "-it" öffnet man eine interaktive Sitzung im Container, in der man dann weitere Befehle ausführen kann.
Container-Umgebung zurücksetzen und beenden
Wenn die Container-Umgebung nicht mehr benötigt wird, lassen sich deren Einstellungen zurücksetzen und die dazugehörigen Dienste mit dem Befehl
vctl system stop -f
beenden. Der Erfolg dieser Aktion lässt sich wieder mit
vctl system info
überprüfen. Bei diesem Vorgang löscht vctl aber nicht die bereits heruntergeladenen Images. Auch die Container bleiben erhalten, sind nach dem Vorgang aber gestoppt.
Zusammenfassung
Die VMware Workstation Pro enthält seit der Version 16 eine komplette Umgebung für Docker-Container, die keine Installation einer VM und eines Gast-OS erfordert. Vielmehr läuft zu diesem Zweck im Hintergrund eine Appliance mit Photon OS.
Die Verwaltung der Docker-Container erfolgt über das Dienstprogramm vctl auf der Kommandozeile des Hosts. Dessen Befehle lehnen sich weitgehend an jene des docker-Utilities an, so dass eine Umstellung recht leicht fällt.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Joos ist Consultant für mittlere und große Unternehmen im Bereich Security, Active Directory, Cloud und KI.
Er hat über 100 Fachbücher zu IT-Themen für verschiedene Verlage geschrieben und veröffentlicht regelmäßig bei verschiedenen Portalen und Zeitschriften wie IT-Administrator, Computerwoche, Heise und vielen weiteren.
Darüber hinaus ist er als Trainer für LinkedIn Learning tätig.
Verwandte Beiträge
Weitere Links