ANÚNCIO

~/questoes/devops

Qual é o arquivo de configuração padrão usado para descrever uma imagem Docker?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência #02 – Como instalar o Docker no MacOS, Linux e Windons | Thi Code
Para fixar

O Dockerfile: Arquivo Central para Construir Imagens Docker

Conceito central

O Dockerfile é um arquivo de texto que contém instruções passo a passo para montar uma imagem Docker. Ele define qual sistema operacional usar como base, quais dependências instalar e como configurar a aplicação. Esse arquivo é o ponto de partida para criar containers padronizados e reproduzíveis.

Por que essa resposta faz sentido

O Dockerfile é a escolha correta porque é exatamente o arquivo padrão que Docker usa para descrever como construir uma imagem. Ele funciona como uma receita que o Docker lê, interpreta e executa para criar a imagem final com todas as camadas necessárias.

Armadilhas comuns

  • Confundir Dockerfile (arquivo que constrói a imagem) com docker-compose.yml (arquivo que orquestra múltiplos containers já prontos).
  • Achar que Dockerfile é um arquivo com extensão como .docker ou .dockerfile, quando na verdade é apenas Dockerfile, sem extensão.
  • Pensar que Dockerfile é usado para configurar containers já em execução, quando ele atua apenas durante a fase de construção da imagem.

Entenda as alternativas

A

manifest.xml não é um arquivo Docker real. Embora alguns formatos usem XML, Docker não utiliza esse padrão para descrever imagens. O arquivo que Docker reconhece é texto puro, não XML.

B

config.yaml é usado em algumas ferramentas e orquestradores (como Kubernetes), mas não é o arquivo padrão para descrever a construção de uma imagem Docker. O YAML aparece mais em configurações de containers já prontos, não na fase de build.

C

docker-image.json não é o arquivo padrão do Docker. Embora metadados de imagens sejam armazenados em JSON internamente, o arquivo que você cria e mantém para construir imagens não é chamado assim.

D

O Dockerfile é de fato o arquivo padrão. Ele é um arquivo de texto simples, sem extensão, onde você escreve comandos como FROM, RUN, COPY e EXPOSE. Docker lê esse arquivo e executa cada instrução para construir a imagem camada por camada.

Dica prática: Quando começar um projeto com Docker, crie um arquivo chamado exatamente 'Dockerfile' (sem extensão) na raiz do projeto. Comece com 'FROM ubuntu:22.04' ou 'FROM node:18', adicione as instruções necessárias e teste com 'docker build -t minha-imagem .' para ver Docker ler e executar cada linha.

Revise pensando: Se você quer criar uma imagem Docker personalizada que instale Node.js e rode uma aplicação, qual arquivo você criaria e como Docker saberia o que fazer com ele?