1.6 KiB
1.6 KiB
LXC
LXC == LinuX Container
Mit den selben Kernel-Mechanismen ("cgroups", "IP namespaces") wie z.B. Docker wird ein - in z.B. ein Verzeichnis installiertes - Linux-System gestartet und dabei vom Hauptsystem getrennt.
Auf jeder VM sind ~25 LXC(ontainer) mit verschiedenen Distributionen installiert. Die Distribution sollte sich aus den Namen der Container ableiten lassen.
Anzeigen der Container
root@tn00-purple:~# lxc-ls -f
NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED…
tn00-alma8 RUNNING 1 ansible 192.168.1.138 - false
tn00-alpine3b RUNNING 1 ansible 192.168.1.194 - false
tn00-alpine3c RUNNING 1 ansible 192.168.1.139 - false
tn00-alpine3d RUNNING 1 ansible 192.168.1.152 - false
tn00-alpine3e RUNNING 1 ansible 192.168.1.134 - false
tn00-arch RUNNING 1 ansible 192.168.1.192 - false
[...]
Container in /etc/hosts hinzufügen
Bitte nur einmal ;) ausführen!
sudo lxc-ls -f -F ipv4,name | grep -v NAME | sudo tee -a /etc/hosts
Wechseln in den Container
root@tn00-purple:~# lxc-attach tn00-alpine3b
~# cat /etc/os-release
NAME="Alpine Linux"
ID=alpine
VERSION_ID=3.11.0
PRETTY_NAME="Alpine Linux v3.11"
HOME_URL="https://alpinelinux.org/"
BUG_REPORT_URL="https://bugs.alpinelinux.org/"
~# ^D
Beenden mit Strg-D (Shell beenden)
Zugriff auf Dateien im Container
Die Container sind auf File-Basis unter /var/lib/lxc/CONTAINERNAME/
installiert, das File-System liegt dort jeweils im Verzeichnis rootfs
.
Ein cat /var/lib/lxc/tn00-alpine3b/rootfs/etc/os-release
im Host würde also die gleiche Dateien anzeigen wie oben.