ANÚNCIO

~/questoes/devops

Qual linguagem de configuração o Docker Compose utiliza para definir serviços?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência #08 – O que é́ o Docker Compose e como utilizá-lo? | Thi Code
Para fixar

Linguagem de Configuração do Docker Compose

Conceito central

Docker Compose utiliza YAML como linguagem de configuração para definir serviços, redes e volumes de aplicações multi-container. O YAML foi escolhido por ser legível, intuitivo e permitir que até desenvolvedores menos experientes entendam rapidamente a estrutura da aplicação.

Por que essa resposta faz sentido

YAML é a linguagem padrão do Docker Compose porque oferece uma sintaxe clara e hierárquica que facilita a leitura e manutenção dos arquivos de configuração. Diferentemente de formatos mais complexos, o YAML permite que a configuração pareça quase como um documento de texto organizado, tornando mais acessível para qualquer desenvolvedor entender como os serviços estão estruturados.

Armadilhas comuns

  • Confundir YAML com JSON só porque ambos são formatos de dados estruturados. O Docker Compose especificamente escolheu YAML por sua sintaxe mais legível e menos verbosa.
  • Pensar que é possível usar Shell Script ou XML no Compose. O arquivo docker-compose.yml exige especificamente o formato YAML para funcionar corretamente.
  • Acreditar que YAML é apenas para iniciantes ou que não seria adequado para configurações complexas. YAML é tão poderoso quanto JSON ou XML, mas com sintaxe mais acessível.

Entenda as alternativas

A

JSON não é o padrão do Docker Compose. Embora JSON seja um formato válido para algumas configurações em Docker, o Compose foi desenvolvido especificamente com YAML, que oferece melhor legibilidade com menos caracteres especiais e hierarquia mais clara.

B

YAML é a linguagem correta. Ela permite uma sintaxe legível e intuitiva onde a indentação define a hierarquia dos elementos, tornando os arquivos docker-compose.yml fáceis de entender e modificar, mesmo para quem está começando no Docker.

C

Shell Script não é usado para definição declarativa de serviços no Docker Compose. Embora scripts possam automatizar comandos Docker, o Compose utiliza um arquivo de configuração declarativo em vez de scripts de automação, o que oferece melhor controle e clareza.

D

XML não é utilizado pelo Docker Compose. Apesar de XML ser um formato estruturado, YAML foi escolhido justamente para evitar a verbosidade excessiva do XML, resultando em arquivos mais compactos e legíveis para configurações de containers.

Dica prática: Quando estiver criando um arquivo docker-compose.yml, observe que a indentação importa muito em YAML. Use sempre espaços (nunca tabulações) e mantenha a consistência. Estruture como: serviços no topo, depois cada serviço com suas propriedades aninhadas. Isso reflete a hierarquia que o Docker Compose precisa interpretar.

Revise pensando: Se o Docker Compose usasse JSON em vez de YAML, qual seria a principal desvantagem em termos de leitura e manutenção dos arquivos?