La mayoría de las veces, usando uno de estos dos, puedo decir qué sistema operativo se está ejecutando en mi contenedor Docker (alpine, centOS, etc.)
Pero esta vez, no puedo decir:
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
¿Alguna forma de obtener una versión de texto del sistema operativo que está ejecutando?
linux
docker
operating-system
Bob Yoplait
fuente
fuente
cat /etc/issue
ycat /etc/alpine-release
!uname
le dirá el núcleo que se está ejecutando, que es el núcleo del sistema operativo host (los contenedores, a diferencia de las máquinas virtuales, comparten el mismo núcleo).Para identificar la imagen base del contenedor, no hay una solución garantizada desde el interior del contenedor. Puede buscar punteros de los principales proveedores como Janosch ofrece (/ etc / os-release para la mayoría de los proveedores como Debian, CentOS y Alpine, o / etc / lsb-release para Ubuntu). También puede verificar las herramientas de administración de paquetes si están instaladas (/ etc / apk, / etc / apt, / etc / yum).
Fuera del contenedor, puede inspeccionar la imagen y rastrear las capas para ver de dónde proviene la imagen, pero eso implica ubicar las sumas de verificación sha256. El mejor método es revisar el Dockerfile que se usó para construir la imagen.
fuente
uname
solo regresaLinux
, yuname -a
solo regresaLinux 89e9cd67fc7a 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux