Pular para o conteúdo principal

Questão de Sistemas Operacionais — Virtualização — FGV 2022

Sistemas OperacionaisVirtualização
Código
fg047166
Banca
FGV
Órgão
CGU
Ano
2022
Nível
Superior
Cargo
Auditor Federal de Finanças e Controle - Tecnologia da Informação
Uma das estratégias para reduzir o tamanho de imagens Docker consiste em:
  1. Acombinar comandos RUN em um único comando;
  2. Bsubstituir a imagem base por uma versão mais recente;
  3. Cseparar comandos RUN complexos em comandos menores;
  4. Dreordenar os comandos de forma que o cache seja utilizado com maior frequência;
  5. Ecompactar arquivos a serem copiados para a imagem e descompactá-los durante a sua geração
Revelar gabarito e comentário

GabaritoA — combinar comandos RUN em um único comando;

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”.

Docker – Redução de Tamanho de Imagens

Gabarito: alternativa A. Combinar comandos RUN em um único comando reduz o número de camadas da imagem, diminuindo seu tamanho. Cada instrução RUN cria uma nova camada temporária; ao unir vários comandos em um só (com && ou scripts), evita-se camadas intermediárias desnecessárias, prática recomendada pela documentação oficial do Docker.

A banca testa o conhecimento sobre o layer caching e a estrutura de camadas das imagens Docker. A chave da questão é entender que camadas extras aumentam o tamanho, e combiná-las é uma estratégia direta de redução.

  1. 1Combinar RUNs (&&)
  2. 2Usar .dockerignore
  3. 3Imagem base enxuta (alpine)
  4. 4Multi-stage build
  5. 5Remover arquivos temporários
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Combinar comandos RUN em um único comando reduz o número de camadas. Por exemplo, RUN apt-get update && apt-get install -y pacote gera uma só camada, enquanto dois RUN separados gerariam duas camadas, cada uma ocupando espaço.

Alternativa B — ❌ Incorreta

Substituir a imagem base por uma versão mais recente pode trazer atualizações, mas não é uma estratégia focada em redução de tamanho; versões mais recentes podem ser até maiores. O tamanho da imagem base não é alterado por essa troca.

Alternativa C — ❌ Incorreta

Separar comandos RUN complexos em comandos menores aumenta o número de camadas, o que aumenta o tamanho da imagem, contrariando o objetivo.

Alternativa D — ❌ Incorreta

Reordenar comandos para aproveitar o cache melhora a velocidade de build, mas não reduz o tamanho final da imagem. O cache evita reconstruir camadas inalteradas, mas não elimina camadas.

Alternativa E — ❌ Incorreta

Compactar arquivos e depois descompactá-los durante o build geralmente adiciona uma camada extra (a descompactação) e pode até aumentar o tamanho, além de não ser uma prática comum para redução – o ideal é evitar arquivos desnecessários.

NÃO CAIA NESSA!

A alternativa D pode parecer atraente (reordenar para cache), mas a pergunta é sobre redução de tamanho, não sobre otimização de build. Cache não elimina camadas, apenas as reaproveita. Já a alternativa E (compactar) é intuitiva, mas no Docker o ato de descompactar gera uma camada extra, anulando a economia.

💡 Dica: Para fixar: cada comando RUN, COPY, ADD cria uma camada. Estratégias para reduzir tamanho: (1) combinar RUN; (2) usar imagens base slim ou alpine; (3) limpar arquivos temporários no mesmo RUN; (4) usar .dockerignore. Nunca separe comandos RUN se a intenção é economizar espaço.

Gabarito: letra A.

Link permanente: /questoes/fg047166