Meistens kann ich mit einem dieser beiden feststellen, welches Betriebssystem in meinem Docker-Container ausgeführt wird (Alpine, CentOS usw.)
Aber dieses Mal kann ich es nicht sagen:
bash-4.2$ uname -a Linux 6fe5c6d1451c 2.6.32-504.23.4.el6.x86_64 #1 SMP Tue Jun 9 20:57:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linuxbash-4.2$ more /etc/issue\SKernel \r on an \m
Gibt es eine Möglichkeit, eine Textversion des Betriebssystems zu erhalten, auf dem es ausgeführt wird?
uname teilt Ihnen den ausgeführten Kernel mit, der der Host-Betriebssystemkernel ist (Container teilen sich im Gegensatz zu VMs denselben Kernel).
Um das Basisimage des Containers zu identifizieren, gibt es keine garantierte Lösung aus dem Inneren des Containers. Sie können nach Hinweisen von den großen Anbietern suchen, die Janosch gibt (/ etc / os-release für die meisten Anbieter wie Debian, CentOS und Alpine oder / etc / lsb-release für Ubuntu). Sie können auch die Paketverwaltungstools überprüfen, wenn sie installiert sind (/ etc / apk, / etc / apt, / etc / yum).
Außerhalb des Containers können Sie das Bild untersuchen und die Ebenen aufspüren, um zu sehen, woher das Bild stammt, aber das führt zum Auffinden von sha256-Prüfsummen. Die beste Methode besteht darin, die Docker-Datei zu überprüfen, die zum Erstellen des Images verwendet wurde.
Auf einem docker und Container, das hat bei mir funktioniert, nachdem ich kein Glück mit / etc hatte/veröffentlichen, /etc/issue, lsb_release usw. (Ich weiß, dass einige für bestimmte Distributionen sind):
Führen Sie diesen Befehl aus als root:
# cat /proc/versionLinux version 4.19.121-linuxkit (root@18b3f92ade35) (gcc version 9.2.0 (Alpine 9.2.0)) #1 SMP Thu Jan 21 15:36:34 UTC 2021