ANÚNCIO

~/questoes/devops

Qual é o objetivo principal de um Dockerfile?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Projeto Prático DevOps: Docker, AWS, Terraform e CI/CD
Para fixar

Entendendo o Dockerfile: O Blueprint da Containerização

Conceito central

Um Dockerfile é um arquivo de instruções que define como construir uma imagem Docker personalizada. Ele funciona como um receita que especifica o sistema operacional base, instala dependências, copia código-fonte e configura como a aplicação deve rodar dentro de um container.

Por que essa resposta faz sentido

A alternativa correta descreve exatamente o propósito do Dockerfile: servir como um conjunto de instruções passo a passo que automática a construção de imagens Docker. Essas instruções definem desde o ambiente base até as configurações finais, permitindo reproduzir o mesmo container em qualquer máquina.

Armadilhas comuns

  • Confundir Dockerfile (receita para construir imagem) com a imagem Docker em si (o produto final pronto para usar)
  • Achar que o Dockerfile é um arquivo de configuração da aplicação, quando na verdade ele define como o ambiente será preparado
  • Tentar armazenar informações sensíveis (senhas, chaves) diretamente no Dockerfile, comprometendo a segurança

Entenda as alternativas

A

Correto. O Dockerfile contém comandos sequenciais (FROM, RUN, COPY, CMD, etc.) que o Docker executa para criar uma imagem personalizada. Essa imagem serve como template para criar containers idênticos.

B

Incorreto. Debugging em produção é um processo separado que não está relacionado ao propósito do Dockerfile. O Dockerfile é focado em construir a imagem, não em documentar técnicas de debug.

C

Incorreto e perigoso. Nunca se deve armazenar senhas ou tokens diretamente em um Dockerfile, pois eles ficam visíveis no histórico da imagem. Use variáveis de ambiente ou secrets management para isso.

D

Incorreto. Permissões de usuários em nível de SO podem ser configuradas dentro do Dockerfile, mas esse não é seu objetivo principal. O foco do Dockerfile é construir a imagem e preparar o ambiente da aplicação.

Dica prática: Ao começar a trabalhar com Docker, visualize o Dockerfile como uma lista de passos: escolha um sistema operacional base (FROM ubuntu), instale ferramentas necessárias (RUN apt-get install), copie seu código (COPY), e defina como rodar (CMD). Cada linha é um comando que será executado sequencialmente durante a construção.

Revise pensando: Se você quisesse criar um container com Python 3.9 e sua aplicação Flask, quais instruções você colocaria em um Dockerfile?