Compare commits

..

No commits in common. "master" and "v2" have entirely different histories.
master ... v2

2 changed files with 11 additions and 27 deletions

View File

@ -2,8 +2,8 @@
* Erkan Yanar
* erkan@linsenraum.de
* xing/[linkedin](https://www.linkedin.com/in/erkanyanar/)
* https://linsenraum.de
* xing/linkedin
* http://linsenraum.de
Und ja: Freiberufler
@ -12,11 +12,11 @@ Und ja: Freiberufler
* Docker/LXC/systemd-nspawn/Rkt
* Alles nur Linux
* Jeder gute Admin sollte eh alles kennen was jetzt kommt
* Jeder gute Admin sollte eh alles kennen was jetzt kommt.
# Container vs. VM
* VMs emulieren Hardware
* VMs eumulieren Hardware
* Ein Container ist nur ein Prozess auf dem Host
* Was immer das auch heißt
@ -67,22 +67,14 @@ Aber am Ende:
Imho noch ein `pstree` mitlaufen lassen:
~~~
readlink /proc/self/ns/*
unshare -p -f -m -u -n -i
readlink /proc/self/ns/*
unshare -p -f -m -u -n -i
chroot /tmp/container sh
ps ax .. und ein Hups
~~~
Genau das machen was da steht. Auch wenn nicht (leere Ausgabe!):
Genau das machen was da steht. (`mount -t proc proc /proc`)
~~~
mount -t proc proc /proc
~~~
Und schauen ob andere(host) Prozesse was in /tmp/container/proc sehen :)
Wie "verlassen/terminieren" unseren Container.
Und schauen ob andere Prozess was in /tmp/container/proc sehen :)
# Mount
@ -98,8 +90,8 @@ docker container run --volume /var/tmp:/srv --rm -ti ubuntu
~~~
mkdir /tmp/container/haha
unshare -p -f -m -u -n -i
mount --bind /var/tmp /tmp/container/haha
unshare -p -f -m -u -n -i
chroot /tmp/container sh
ls /haha
~~~
@ -116,7 +108,7 @@ Achso: wieder ein `pstree` mitlaufen lassen :)
## Cgroups v1
Sollte nicht (im Sinne von wtf. nutzt Du?) mehr funzen
Sollte nicht mehr funzeen
~~~
mkdir /sys/fs/cgroup/pids/lala
@ -137,8 +129,6 @@ echo 5 >/sys/fs/cgroup/container/pids.max
Ruhig ein paar Prozesse im Container starten. Klappt schnell nicht 😎
Wieder Container beenden
# Artefakt
Aber jeder Container schreibt doch ein einen eigenen Layer
@ -160,7 +150,7 @@ mkdir /tmp/upper2 /tmp/work2 /tmp/runningcontainer2
mount -t overlay overlay -o lowerdir=/tmp/container,upperdir=/tmp/upper2,workdir=/tmp/work2 /tmp/runningcontainer2
~~~
Und jetze je nach /tmp/runningcontainer1 und /tmp/runningcontainer2 "reincontainern" (s.o)
# Netzwerk?
@ -198,7 +188,7 @@ Haben wir noch Zeit?
Und wenn schon!
* Container ohne Network starten. Mit nsenter Pakete installieren
* Container ohne Network starten. Mit nsenter Paketer installieren
* Netzwerk in einem Container mit Host-Tools debuggen
@ -208,12 +198,6 @@ Und wenn schon!
* Von wegen VM :)
* I.e. Security ist 0815 Linux-Admin-Knowhow
# Btw:
* Capabilities missing
* Syscalls missing
* SELinux/Apparmor/Landlock missing
# Links
[bocker](https://github.com/p8952/bocker)

BIN
qr.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB