From b81102b8bd9d4dc6d8a09d913b83a16237ea45da Mon Sep 17 00:00:00 2001 From: Sven Velt Date: Thu, 27 Mar 2025 11:39:57 +0100 Subject: [PATCH] Kurze Anleitung zu LXC --- LXC.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 LXC.md diff --git a/LXC.md b/LXC.md new file mode 100644 index 0000000..007e127 --- /dev/null +++ b/LXC.md @@ -0,0 +1,47 @@ +## 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. + + +