Przez większość czasu, używając jednego z tych dwóch, mogę stwierdzić, który system operacyjny działa w moim kontenerze Docker (alpine, centOS itp.)
Ale tym razem nie mogę powiedzieć:
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/Linux
bash-4.2$ more /etc/issue
\S
Kernel \r on an \m
Jest jakiś sposób na uzyskanie wersji tekstowej systemu operacyjnego, na którym działa?
linux
docker
operating-system
Bob Yoplait
źródło
źródło
cat /etc/issue
icat /etc/alpine-release
!uname
powie ci, że jądro jest uruchomione, czyli jądro systemu operacyjnego hosta (pojemniki, w przeciwieństwie do maszyn wirtualnych, współużytkują to samo jądro).Aby zidentyfikować podstawowy obraz kontenera, nie ma gwarantowanego rozwiązania z wnętrza kontenera. Możesz szukać wskaźników od głównych dostawców, takich jak Janosch (/ etc / os-release dla większości dostawców, takich jak Debian, CentOS i Alpine, lub / etc / lsb-release dla Ubuntu). Możesz także sprawdzić narzędzia do zarządzania pakietami, jeśli są zainstalowane (/ etc / apk, / etc / apt, / etc / yum).
Poza pojemnikiem możesz sprawdzić obraz i wyśledzić warstwy, aby zobaczyć, skąd pochodzi obraz, ale to pozwala zlokalizować sumy kontrolne sha256. Najlepszą metodą jest przejrzenie pliku Docker, którego użyto do zbudowania obrazu.
źródło
uname
po prostu wracaLinux
iuname -a
po prostu wracaLinux 89e9cd67fc7a 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux