Manchmal muß eines meiner Skripte erkennen können, ob es innerhalb eines Containers läuft. Dafür gibt es viele Rezepte, die bei mir nicht funktioniert haben. Eines klappt dann aber doch!
Funktionierende Container-Erkennung
Bei mir funktioniert die Containererkennung auf Basis von Prozess-ID 2 am besten. Die Prozess-ID 2 ist bei Containern zufällig belegt oder existiert nicht. Außerhalb von Containern ist die reserviert für den Prozess “kthreadd”.
Nachfolgendes Skript überprüft Prozess-ID 2 und den Prozess “kthreadd” und meldet den Status:
1 2 3 4 5 6 7 |
|
Nicht funktionierende Varianten
- /proc/1/sched … sieht innerhalb und außerhalb identisch aus
- /proc/1/cgroup … sieht innerhalb und außerhalb identisch aus
Links
Historie
- 2024-01-17 – Erste Version