Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Todo container contém um SO?

Me surgiu uma dúvida, todo container tem um sistema operacional dentro dele rodando?

4 respostas

Um container não tem um sistema operacional, pois containers são processos regulares em execução no sistema operacional host com alguma configuração especial para separa-los do resto do sistema. O Docker nos bastidores usa o sistema operacional host para executar seus contêineres.

Então, mas por que temos containers buildados em cima de diferentes SO? Tipo, podemos baixar um container com Java 15 em cima de um Ubuntu, ou um Java 15 em cima de um CentOS, e no bash será válido comandos para os respectivos SO's, por exemplo apt-get update no container com Ubuntu e yum check-update no container com CentOS (Mesmo que minha máquina host, por exemplo, seja um Ubuntu).

Assim, entendo o conceito do Docker de funcionar em cima do OS hospedeiro, porém esse parte de cima não consegui entender como funciona.

solução!

o Docker para Windows permite simular a execução de contêineres do Linux no Windows, mas sob o capô uma VM Linux é criada, portanto, os contêineres do Linux ainda estão em execução no Linux e os contêineres do Windows no Windows.

No caso da máquina hospedeira ser Ubuntu e você estar usando uma imagem CentOS todos os contêineres em execução em um servidor docker compartilham o kernel do host, as camadas "superiores" que são customizadas para cada distribuição Linux, mas o kernel é o mesmo.

Entendi, Otávio, acredito que me faltou conhecimento de como as distros Linux são estruturadas, muito obrigado pela explicação!