Containerdienste unter Windows

LXD-Container benötigen eine Unix-Umgebung. Mit dem aktuellen »Windows Subsystem for Linux« können Container-Instanzen auch bequem auf Windows-Rechnern installiert und benutzt werden.

LXD vereint die Vorteile virtueller Rechner (Xen et.al.) und die Ressourceneffizienz von Containern (aka Docker). Es ist Open-Source und gut dokumentiert. Ferner existiert eine API für eine Steuerung z.B. über Ruby-Skripte. Canonical positioniert LDX als Standard für Cloud- und Kubernetics-Anwendungen. Es besteht eine Kooperation mit Microsoft, die inzwischen Früchte trägt. Nie war es einfacher, Linux-Programme und -Dienste auf Windwows-Maschinen zu benutzen.

Im November 2022 entfernte Microsoft das »Preview-Siegel von dem Windows Subsystem for Linux (WSL). Man muss das Feature zwar noch manuell einrichten, die Verwendung ist aber nicht mehr »experimentell«. Zukünftige Versionen dürften kompatibel zur aktuellen Version WSL-2 sein. Der Einsatz ist auch in einer Produktivumgebung gefahrlos möglich.

Installation

Am 15. November 2022 gab Microsoft WSL-2 frei. Es ist offiziell im App-Store enthalten und kann via Power-Shell im Administrator-Modus mit

wsl --install 

installiert und aktiviert werden. Danach kann Ubuntu über den App-Store installiert werden.

Die Systemd-Unterstützung muss derzeit noch händisch aktiviert werden.

Hierfür in einem Terminal die Datei /etc/wsl.conf editieren (ggf. neu anlegen) und

[boot]
systemd=true

hinzufügen. Nach einem Neustart der WSL ( wsl --shudown ) können SNAP’s installiert werden.

LXD

Die Installation von LXD unterscheidet sich nicht mehr von der Linux-Version.

sudo snap install lxd 

sudo lxd init

Initialisiert das System. LXD-Container existieren im Verzeichnis /var/lib/lxd/containers.
Wichtig: Benutzer in Gruppe lxd eintragen und newgrp ausführen

sudo adduser {username} lxd
newgrp lxd

Aufsetzen und Standardbefehle

lxc launch ubuntu:j mein_container   		# j steht für  Jammy (22.04)
lxc exec mein_container bash		      	# root werden
lxc exec tws -- sudo --login --user ubuntu 	# sudo-fähiger Benutzer werden

Kryptische Befehlszeilen müssen nicht sein. LXD verfügt über einen Alias-Befehl, mit dem man Standardbefehle verkürzen kann. So wird aus

lxc exec tws -- sudo --login --user ubuntu

über ein einmaliges

lxc alias add  open  'exec @ARGS@ -- sudo --login --user ubuntu' 

einfach

lxc open tws 

Den Status angelegter LXD-Instanzen gibt lxc list aus

lxc list
+------+---------+-----------------------+------+------------+-----------------+
| NAME | STATUS  |         IPV4          | IPV6 |    TYP     | SCHNAPPSCHÜSSE |
+------+---------+-----------------------+------+------------+-----------------+
| beta | RUNNING | 10.127.216.240 (eth0) |      | PERSISTENT | 0               |
+------+---------+-----------------------+------+------------+-----------------+
| tws  | RUNNING | 10.127.216.221 (eth0) |      | PERSISTENT | 0               |
+------+---------+-----------------------+------+------------+-----------------+

Ressourcen

IB-Container
Administration: remote

Gateway

Handelsknecht

ATS

 

Trading-Container

TWS

Handelsknecht

ATS