Na maioria das vezes, usando um desses dois, posso dizer qual sistema operacional está sendo executado no meu contêiner do Docker (alpine, centOS, etc.)
Mas desta vez, não posso 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
Qualquer maneira de obter uma versão de texto do sistema operacional que está sendo executado?
Eu gosto de usar o Screenfetch . Você pode querer tentar isso.
Se você examinar o código, poderá ver como ele determina a distribuição:
lsb_release -sirc
cat /etc/os-release
E para cobrir o CentOS também:
cat /etc/issue
uname
informará o kernel que está em execução, que é o kernel do sistema operacional host (contêineres, ao contrário 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 dicas dos principais fornecedores, como Janosch fornece (/etc/os-release para a maioria dos fornecedores, como Debian, CentOS e Alpine, ou /etc/lsb-release para Ubuntu). Você também pode verificar se as ferramentas de gerenciamento de pacotes estão 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 afeta a localização das somas de verificação sha256. O melhor método é revisar o Dockerfile que foi usado para criar a imagem.
Em um contêiner aparado do docker , isso funcionou para mim sem sorte com /etc/ release , /etc/issue, lsb_release, etc. (eu sei que alguns são para distros específicos):
Execute este comando como root :
FONTE: https://unix.stackexchange.com/questions/23833/how-can-i-tell-what-version-of-linux-im-using/326917#326917
Isso funciona para mim, mas é preciso estar fora de um contêiner:
docker exec container-name cat /etc/os-release
Quando você executa o mesmo comando no prompt bash dentro de um contêiner, ele fornece as características do sistema host.
Isso provavelmente se deve ao fato de que, uma vez iniciado, o contêiner docker compartilha a maioria dos recursos do sistema para permanecer leve. Estou no Linux, porém, os usuários do Windows podem ter um resultado diferente.
No contêiner docker, deve haver um arquivo chamado debian_version na pasta etc. Você pode fazer cat debain_version. Ele mostrará a versão do Debian.