Na maioria das vezes, usando um desses dois, posso saber qual SO está sendo executado no meu contêiner do Docker (alpino, centOS etc.)
Mas desta vez, não sei dizer:
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
Alguma maneira de obter uma versão em texto do sistema operacional em execução?
linux
docker
operating-system
Bob Yoplait
fonte
fonte
cat /etc/issue
ecat /etc/alpine-release
!uname
informará o kernel em execução, que é o kernel do sistema operacional host (os contêineres, diferentemente das VMs, compartilham o mesmo kernel).Para identificar a imagem base do contêiner, não há solução garantida de dentro do contêiner. Você pode procurar por indicadores dos principais fornecedores como Janosch (/ etc / os-release para a maioria dos fornecedores como Debian, CentOS e Alpine ou / etc / lsb-release para Ubuntu). Você também pode verificar as ferramentas de gerenciamento de pacotes se elas estiverem instaladas (/ etc / apk, / etc / apt, / etc / yum).
Fora do contêiner, você pode inspecionar a imagem e rastrear as camadas para ver de onde vem a imagem, mas isso fica na localização das somas de verificação sha256. O melhor método é revisar o Dockerfile que foi usado para criar a imagem.
fonte
uname
apenas retornaLinux
, euname -a
apenas retornosLinux 89e9cd67fc7a 4.9.125-linuxkit #1 SMP Fri Sep 7 08:20:28 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux