Docker: O Laboratório de Sistemas Operacionais
Por: Prof. Carlos - Fatec Ourinhos
Muitos alunos acreditam que o Docker é apenas uma ferramenta de "deploy". No entanto, ele é a implementação prática e moderna de conceitos fundamentais de Sistemas Operacionais (SO) como isolamento de processos e gestão de recursos.
"O Docker não é mágica; ele é apenas o Kernel do Linux usando Namespaces e Cgroups de forma inteligente."
1. Virtualização vs. Conteinerização
Diferente das Máquinas Virtuais (VMs), que emulam o hardware e rodam um Kernel próprio, os containers compartilham o Kernel do hospedeiro. Isso elimina o overhead de memória e CPU, permitindo maior densidade de aplicações.
2. Os Pilares do Kernel
- Namespaces: Criam o isolamento visual (rede, processos, montagem de arquivos).
- Control Groups (cgroups): Fazem a gestão e limitação de recursos físicos (CPU, RAM, I/O).
Exemplo Prático: Verificando o Isolamento
Para o SO hospedeiro, o container é apenas um processo. Veja como identificar o processo do container no terminal:
# 1. Inicie um container em background
docker run -d --name meu-servidor nginx
# 2. Liste os processos no HOST filtrando pelo Nginx
ps aux | grep nginx
📝 Desafio de Conhecimento
1. Qual funcionalidade do Kernel Linux é responsável por garantir que um container não consuma toda a memória RAM do servidor hospedeiro?
2. Sobre a diferença fundamental entre VMs e Containers, assinale a alternativa correta:
3. Qual recurso do Kernel permite isolar a pilha de rede, garantindo que o container tenha seu próprio IP?
Nenhum comentário:
Postar um comentário