De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Btrfs e Docker - Containers Mais Rápidos e Uso Inteligente do Armazenamento

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 10 de julho de 2026

A popularização dos containers modificou profundamente a forma como aplicações são desenvolvidas e distribuídas. Em vez de instalar bibliotecas, configurar servidores e resolver dependências manualmente, tornou-se possível empacotar uma aplicação completa juntamente com todos os componentes necessários para sua execução. O Docker desempenhou um papel fundamental nessa transformação e hoje faz parte da infraestrutura de desenvolvimento de empresas de todos os portes.

Embora a maior parte dos desenvolvedores concentre sua atenção nos arquivos Dockerfile, nas imagens e nos orquestradores, existe um componente que influencia diretamente o desempenho e o consumo de armazenamento: o sistema de arquivos utilizado pelo host.

Toda imagem Docker é construída em camadas. Cada instrução presente em um Dockerfile cria uma nova camada que poderá ser reutilizada por outras imagens. Quando dezenas ou centenas de containers utilizam uma mesma distribuição Linux como base, grande parte dos arquivos permanece idêntica. É justamente essa característica que torna o Docker tão eficiente.

O Btrfs foi projetado para trabalhar exatamente com esse tipo de cenário. Graças ao mecanismo de Copy-on-Write, ele consegue compartilhar blocos de dados entre diferentes subvolumes sem duplicar fisicamente seu conteúdo. Na prática, várias imagens podem utilizar exatamente os mesmos blocos de armazenamento até que alguma delas sofra uma modificação. Apenas nesse momento novos blocos são alocados, preservando a integridade das demais imagens. Esse comportamento reduz significativamente o espaço ocupado em disco.

Imagine um ambiente de desenvolvimento contendo vinte containers baseados na mesma distribuição Linux. Em um sistema de arquivos tradicional, mesmo que existam mecanismos internos de otimização, cada ambiente tende a consumir uma quantidade considerável de armazenamento. No Btrfs, grande parte desse conteúdo permanece compartilhada, permitindo que dezenas de containers coexistam utilizando muito menos espaço físico.

Essa característica também beneficia a criação de novos ambientes. Quando um desenvolvedor solicita um novo container, não é necessário copiar gigabytes de dados para construir sua estrutura inicial. O sistema simplesmente cria um novo subvolume compartilhando os mesmos blocos da imagem original. O processo leva apenas alguns instantes, independentemente do tamanho da imagem utilizada como base. Na prática, a criação de um clone torna-se quase instantânea.

Essa agilidade é particularmente útil em ambientes de integração contínua. Sistemas de CI/CD frequentemente criam e descartam containers durante todo o dia para executar testes automatizados. Quanto menor o tempo necessário para provisionar esses ambientes, maior será a capacidade do servidor de processar novas tarefas.

Outra vantagem importante aparece durante o desenvolvimento de aplicações. É comum criar um container para testar uma nova versão de um software e, após alguns minutos, descartá-lo completamente. Em seguida, cria-se outro container praticamente idêntico, alterando apenas uma configuração ou uma versão de biblioteca. Como boa parte dos arquivos permanece inalterada, o consumo adicional de espaço continua bastante reduzido.

Os snapshots também encontram aplicações interessantes nesse contexto. Antes de realizar alterações significativas em um ambiente de desenvolvimento, é possível criar um snapshot do subvolume correspondente. Caso alguma atualização torne o ambiente inutilizável ou uma sequência de testes produza resultados inesperados, basta retornar ao snapshot anterior. O processo leva apenas alguns segundos e elimina a necessidade de reconstruir todo o ambiente a partir do zero.

Em laboratórios de desenvolvimento, essa estratégia permite experimentar versões de bibliotecas, compiladores e frameworks com muito mais tranquilidade. O tempo gasto recriando ambientes diminui consideravelmente, e o risco associado a alterações experimentais torna-se muito menor.

É importante observar que o Docker oferece diferentes storage drivers, cada um adequado a determinadas situações. Atualmente, o overlay2 tornou-se a opção padrão na maioria das distribuições Linux devido à sua simplicidade e excelente desempenho para cargas de trabalho gerais. O driver específico para Btrfs continua disponível e pode oferecer vantagens em ambientes que exploram intensamente snapshots, subvolumes e clones rápidos, embora sua utilização seja hoje menos frequente do que nos primeiros anos do Docker.

Essa observação é importante porque evita uma conclusão simplista de que o Btrfs substitui automaticamente todas as demais soluções. A escolha do driver continua dependendo das características da infraestrutura e do tipo de aplicação executada. Em muitos ambientes, o overlay2 continua sendo a alternativa mais indicada. Em outros, especialmente quando snapshots e gerenciamento avançado de armazenamento fazem parte da estratégia operacional, o Btrfs oferece recursos que dificilmente podem ser reproduzidos por outras soluções.

Independentemente do driver utilizado pelo Docker, o próprio sistema de arquivos continua oferecendo vantagens importantes. Compressão transparente, checksums, snapshots, replicação por meio de btrfs send e btrfs receive e gerenciamento integrado dos dispositivos permanecem disponíveis para o administrador do sistema, simplificando tanto a proteção quanto a administração do armazenamento.

A combinação entre containers e Btrfs ilustra bem uma tendência observada na infraestrutura moderna. À medida que os ambientes se tornam mais dinâmicos, cresce também a necessidade de sistemas de arquivos capazes de criar, copiar, descartar e restaurar grandes volumes de dados com rapidez e baixo consumo de recursos. O Btrfs foi concebido exatamente para esse tipo de cenário, razão pela qual continua despertando interesse em plataformas voltadas para virtualização, containers e computação em nuvem.

Artigos da Série sobre Btrfs

  1. Btrfs - A Evolução Silenciosa Que Está Transformando o Armazenamento no Linux
  2. Btrfs - O Que É e Por Que Está Ganhando Espaço no Mundo Linux
  3. Btrfs na Prática - Instalando e Criando Seu Primeiro Sistema de Arquivos
  4. Subvolumes - O Segredo do Btrfs Que Muita Gente Utiliza Sem Saber
  5. Snapshots - A Máquina do Tempo do Linux
  6. Como o Btrfs Mudou a Forma de Atualizar o Linux
  7. Compressão Transparente com Zstd - Menos Espaço, Mais Desempenho
  8. Btrfs e SSDs - Copy-on-Write Desgasta o SSD?
  9. Scrubbing - Verificando Seus Dados Antes que os Problemas Apareçam
  10. Backup Inteligente com btrfs send e btrfs receive
  11. Btrfs em Servidores - Onde Ele Brilha e Onde Ainda Exige Cautela



Veja a relação completa dos artigos de Rubens Queiroz de Almeida