Contêineres e orquestração são muito utilizados para a implementação de soluções de tecnologia em ambientes de infraestrutura moderna. A respeito de docker e kubernetes, julgue o seguinte item.
Contêineres executados por meio do docker compartilham o mesmo kernel do sistema operacional hospedeiro, utilizando mecanismos de isolamento do próprio sistema operacional para separar os ambientes de execução das aplicações.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoC — Certo
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Contêineres Docker: compartilhamento do kernel e isolamento
Gabarito: letra C (CERTO). A afirmação está correta: contêineres Docker compartilham o kernel do sistema operacional hospedeiro e utilizam mecanismos de isolamento do próprio SO (como namespaces e cgroups no Linux) para separar os ambientes de execução das aplicações. Essa é a diferença fundamental entre contêineres e máquinas virtuais.
Contêineres são uma forma de virtualização a nível de sistema operacional. Em vez de virtualizar o hardware (como fazem as máquinas virtuais com hypervisors), os contêineres virtualizam o próprio sistema operacional, compartilhando o kernel do host. Cada contêiner é um conjunto de processos isolados, com seu próprio sistema de arquivos, bibliotecas e configurações, mas todos executam sobre o mesmo kernel.
O isolamento é alcançado por mecanismos do próprio kernel Linux, principalmente:
Namespaces: isolam recursos como processos (PID), rede (NET), sistema de arquivos (MNT), usuários (USER), etc. Cada contêiner tem sua própria visão desses recursos, como se fosse um sistema independente.
Cgroups (control groups): limitam e monitoram o uso de recursos como CPU, memória, disco e rede por cada contêiner.
Esses mecanismos são usados por plataformas como Docker, LXC e Kubernetes. O texto de apoio confirma: "O núcleo Linux oferece diversos mecanismos para o isolamento de espaços de recursos, que são usados por plataformas de gerenciamento de contêineres como Linux Containers (LXC), Docker e Kubernetes."
A principal consequência do compartilhamento do kernel é que os contêineres são mais leves e rápidos que máquinas virtuais, pois não precisam de um sistema operacional completo para cada instância. Porém, isso também significa que todos os contêineres dependem do kernel do host, o que pode ser uma limitação em termos de compatibilidade (por exemplo, contêineres Linux não rodam nativamente em hosts Windows sem uma camada de virtualização).
A pegadinha clássica da banca é confundir contêineres com máquinas virtuais. Enquanto as VMs virtualizam o hardware e cada uma tem seu próprio kernel, os contêineres compartilham o kernel do host. Essa distinção é o critério decisivo para julgar a afirmação.
Contêineres Docker
1Virtualização a nível de SO
Compartilham o kernel do host
Isolamento por mecanismos do próprio SO
2Mecanismos de isolamento
Namespaces (PID, NET, MNT, USER)
Cgroups (CPU, memória, disco)
3Diferença para máquinas virtuais
VM virtualiza o hardware (kernel próprio)
Contêiner virtualiza o SO (kernel compartilhado)
LEVEL · soulevel.com.br
Item — ✅ CERTO
A afirmação está correta. Contêineres Docker compartilham o kernel do sistema operacional hospedeiro e usam mecanismos de isolamento do próprio SO (namespaces e cgroups) para separar os ambientes de execução. Isso é exatamente o que caracteriza a virtualização a nível de sistema operacional, em contraste com a virtualização por hardware (máquinas virtuais).
PEGA ESSA DICA!
Para diferenciar contêineres de máquinas virtuais, lembre-se: VM virtualiza o hardware (cada uma tem seu próprio kernel), contêiner virtualiza o SO (compartilha o kernel do host). Se a questão falar em "compartilhar kernel", é contêiner; se falar em "kernel próprio", é VM.