ANÚNCIO

~/questoes/devops

Como múltiplas aplicações podem rodar na mesma máquina sem conflitos com Docker?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência #01 – O que é́ o Docker e para que serve? | Thi Code
Para fixar

Isolamento de Processos no Docker: Como Múltiplas Aplicações Convivem

Conceito central

O isolamento de containers permite que diferentes aplicações rodem simultaneamente na mesma máquina sem interferirem uma na outra. Cada container encapsula sua própria aplicação, dependências e configurações de forma independente, eliminando conflitos de versão e dependência que seriam inevitáveis se os programas fossem instalados diretamente no sistema.

Por que essa resposta faz sentido

A alternativa está correta porque o isolamento é exatamente o mecanismo que permite múltiplas aplicações coexistirem. Quando você coloca aplicações em containers separados, cada uma tem seu próprio sistema de dependências encapsulado, então uma aplicação com Python 3.8 não conflita com outra que precisa de Python 3.11, por exemplo.

Armadilhas comuns

  • Confundir isolamento de containers com simples separação de arquivos em pastas diferentes do disco rígido.
  • Pensar que Docker duplica o kernel para cada container, quando na verdade todos compartilham o mesmo kernel do host, tornando-os leves.
  • Achar que as dependências de um container são automaticamente gerenciadas por outro, quando na verdade cada um é completamente responsável pelas suas.

Entenda as alternativas

A

Correta. O isolamento de containers é a razão fundamental pela qual múltiplas aplicações podem rodar sem conflitos. Cada container tem seu próprio ambiente isolado com suas dependências, bibliotecas e configurações.

B

Errada. Não existe gerenciamento automático de dependências entre containers. Na verdade, o isolamento garante que cada aplicação seja responsável apenas pelas suas próprias dependências, sem interferência automática.

C

Errada. Docker não duplica o kernel para cada container. Todos os containers compartilham o mesmo kernel do host (Linux, por exemplo). Isso é exatamente o que torna containers muito mais leves do que máquinas virtuais.

D

Errada. Simplesmente colocar aplicações em pastas diferentes no disco não evita conflitos. Se dois programas precisam de versões diferentes da mesma biblioteca e ambos estão no sistema, haverá conflito. Isolamento real requer encapsulamento de ambiente, não apenas separação de arquivos.

Dica prática: Na prática, você pode testar isso rodando dois containers diferentes: um com Node.js 14 e outro com Node.js 18, na mesma máquina. Ambos funcionam perfeitamente sem conflitar, algo impossível se instalasse ambas as versões diretamente no sistema operacional.

Revise pensando: Se você tira um container do ar, isso afeta as dependências das outras aplicações rodando em outros containers? Por quê?