📑 Tabela de Conteúdo

Ainda Usando Version no Docker Compose? Descubra Por Que É Hora de Parar

Ilustração explicando a remoção da tag version em arquivos modernos do Docker Compose
Ilustração explicando a remoção da tag version em arquivos modernos do Docker Compose

Se você trabalha com Docker Compose há algum tempo, certamente já se deparou com a propriedade version no topo dos seus arquivos docker-compose.yml. Essa linha, que antes era considerada essencial, agora se tornou oficialmente obsoleta.


Neste artigo, vamos explorar por que essa mudança aconteceu e como você pode modernizar seus projetos Docker de forma simples e eficaz.


O Que Mudou no Docker Compose?

Para entender melhor essa transformação, vamos analisar um exemplo prático. Considere este arquivo Docker Compose tradicional:


yaml

version: '3.8'


services:


  auth-db:

    image: postgres:11

    container_name: auth-db

    restart: always

    environment:

      

      - POSTGRES_DB=auth-db


      - POSTGRES_USER=admin


      - POSTGRES_PASSWORD=123456

    ports:

      - 5432:5432

Ao executar docker compose up com esse arquivo, você provavelmente verá este aviso:


WARN[0000] \\Documents\\git\\curso-comunicacao-servicos\\docker-compose.yml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"

⠀⠀⠀⠀

Por Que a Propriedade Version Se Tornou Obsoleta?

A Evolução do Docker Compose

Originalmente, a propriedade version tinha uma função importante: especificar qual versão do schema do Compose file seria utilizada. Isso era fundamental para manter a compatibilidade com versões anteriores e garantir que diferentes recursos funcionassem adequadamente.


No entanto, o Docker Compose evoluiu significativamente. Hoje, ele utiliza automaticamente a Compose Specification mais recente como padrão, tornando desnecessário especificar uma versão manualmente.


Benefícios da Nova Abordagem

Simplicidade: Menos configuração manual significa menos chances de erro

Atualizações automáticas: Você sempre terá acesso aos recursos mais recentes

Menos manutenção: Não precisa mais se preocupar em atualizar versões nos arquivos

Como o Docker Compose Funciona Atualmente?

A Compose Specification

O Docker Compose agora se baseia inteiramente na Compose Specification para interpretar seus arquivos docker-compose.yml. Esta especificação é constantemente atualizada para incluir:


Novos recursos e funcionalidades

Melhorias de performance

Correções de bugs

Otimizações de segurança

Detecção Automática

Quando você executa o Docker Compose, ele automaticamente:

Analisa seu arquivo de configuração

Aplica o schema mais recente suportado

Utiliza todos os recursos disponíveis

O Que Você Deve Fazer Agora?

1. Remova a Propriedade Version

É completamente seguro deletar a linha version dos seus arquivos docker-compose.yml. Sua funcionalidade permanecerá intacta. Veja como fica o exemplo anterior:


yaml

services:


  auth-db:

    image: postgres:11

    container_name: auth-db

    restart: always

    environment:

      

      - POSTGRES_DB=auth-db


      - POSTGRES_USER=admin


      - POSTGRES_PASSWORD=123456

    ports:

      - 5432:5432

2. Aproveite os Recursos Mais Recentes

Com a Compose Specification sempre atualizada, você pode:


Usar novos tipos de volume

Implementar recursos de rede avançados

Aproveitar melhorias de performance

Utilizar novas opções de deploy

3. Ignore os Avisos (Por Enquanto)

Se você ainda tem arquivos com a propriedade version, os avisos podem ser ignorados com segurança. No entanto, é uma boa prática removê-la para manter seus arquivos limpos e atualizados.


Dicas Práticas Para Modernizar Seus Projetos

Auditoria dos Arquivos Existentes

Faça uma verificação em todos os seus projetos:


Identifique arquivos com version especificada

Teste a remoção em ambiente de desenvolvimento

Documente as mudanças para sua equipe

Automatização da Limpeza

Considere criar um script simples para remover automaticamente as linhas version dos seus arquivos:


bash

# Exemplo básico para remover linhas version

sed -i '/^version:/d' docker-compose.yml

Mantenha a Documentação Atualizada

Atualize sua documentação interna para refletir essas mudanças e eduque sua equipe sobre as melhores práticas atuais.


Benefícios de Seguir as Práticas Atuais

Para Desenvolvedores

Menos configuração: Foco no que realmente importa - seus serviços

Compatibilidade garantida: Sempre usando a versão mais estável

Aprendizado contínuo: Acesso automático a novos recursos

Para Equipes

Padronização: Todos usando a mesma abordagem

Manutenção simplificada: Menos pontos de configuração para gerenciar

Produtividade: Menos tempo gasto com configurações técnicas

Conclusão: Simplifique e Modernize

A remoção da propriedade version representa mais do que uma simples mudança técnica - é um reflexo da maturidade do Docker Compose como ferramenta. Ao eliminar essa necessidade, o Docker tornou a experiência do desenvolvedor mais fluida e intuitiva.


Lembre-se: O foco deve estar sempre no conteúdo do seu arquivo Compose - na definição dos seus serviços, redes, volumes e outros componentes - e não em preocupações com versionamento.


Está pronto para modernizar seus projetos Docker? Comece removendo a propriedade version dos seus arquivos e aproveite a simplicidade que a evolução do Docker Compose trouxe para o seu workflow de desenvolvimento.


Quer se aprofundar ainda mais em Docker e containerização? Explore recursos avançados da Compose Specification e descubra como otimizar ainda mais seus projetos com as melhores práticas atuais do mercado.


✝ Copyright © Blog do KDS - Isaías 40:5 “A glória do Senhor se manifestará, e toda a humanidade a verá.”