Questão de Sistemas Operacionais — Contêineres (Docker, Kubernetes, etc.) — CESPE / CEBRASPE 2025
- Código
- ce418274
- Banca
- CESPE / CEBRASPE
- Órgão
- BDMG
- Ano
- 2025
- Cargo
- Ana Desen ( )
- CCerto
- EErrado
GabaritoC — Certo
Gabarito: letra C (CERTO). A afirmação está correta: no Docker, volumes são diretórios externos ao contêiner e sua principal função é garantir a persistência dos dados, independentemente do ciclo de vida do contêiner. Essa é a definição canônica de volume na documentação oficial do Docker e em todo material técnico sobre o assunto.
Para entender por que isso é verdade, é preciso primeiro compreender como o Docker lida com o sistema de arquivos. Quando um contêiner é criado a partir de uma imagem, o Docker adiciona uma camada de escrita (leitura-escrita) por cima das camadas somente leitura da imagem. Essa camada de contêiner é onde as alterações feitas durante a execução são gravadas. O problema é que essa camada é efêmera: quando o contêiner é removido, todos os dados escritos nela são perdidos. É exatamente para resolver essa limitação que existem os volumes.
Um volume Docker é um diretório que reside no sistema de arquivos do host (ou em um storage remoto, dependendo do driver), fora do sistema de arquivos do contêiner. Ele é montado em um caminho específico dentro do contêiner, e qualquer dado escrito nesse caminho é, na verdade, gravado no volume. Assim, quando o contêiner é destruído e recriado, os dados permanecem intactos no volume, podendo ser reutilizados pelo novo contêiner. Além da persistência, os volumes também permitem o compartilhamento de dados entre múltiplos contêineres, o que é uma funcionalidade essencial em arquiteturas de microsserviços.
A distinção que importa aqui é entre a camada de contêiner (efêmera) e o volume (persistente). A camada de contêiner é descartável por natureza; o volume é projetado para sobreviver ao contêiner. Essa é a fronteira conceitual que a banca explora: se o candidato não tem claro que a camada de escrita é volátil, pode não entender por que os volumes existem. A pegadinha, portanto, não está na afirmação em si, mas na possibilidade de confundir volume com a camada de contêiner ou com o conceito de bind mount (que também é uma forma de persistência, mas com características diferentes).
Na prática, o uso de volumes é uma das boas práticas mais recomendadas no Docker para aplicações que precisam manter estado, como bancos de dados. Sem volumes, qualquer dado gerado pela aplicação seria perdido a cada reinicialização do contêiner, o que tornaria inviável o uso de Docker para muitos cenários de produção. É por isso que a afirmação do enunciado está correta: a função principal dos volumes é, de fato, a persistência de dados independente do estado do contêiner.
A afirmação está correta. Volumes no Docker são, por definição, diretórios externos ao contêiner, e sua finalidade central é a persistência de dados. O material de apoio confirma: "Volumes Docker permitem armazenar dados fora do sistema de arquivos do contêiner, mantendo-os persistentes e compartilháveis entre contêineres." Essa é a essência do conceito, e a afirmação do enunciado a reproduz fielmente.
Para fixar, lembre-se da tríade: camada de contêiner = efêmera; volume = persistente; bind mount = persistente, mas mapeado diretamente para um diretório do host. Na prova, quando a questão falar em "persistência independente do contêiner", a resposta quase sempre envolve volumes.
Gabarito: letra C (CERTO).
Link permanente: /questoes/ce418274