O Docker é gratuito? Engine, Desktop e Hub explicados
O Docker Engine é gratuito em qualquer servidor, com licença Apache 2.0. Quem paga é o Docker Desktop em empresas maiores, e o Hub limita pulls. Veja o que muda num VPS.
Resposta curta
O Docker é gratuito na parte que roda num servidor. O Docker Engine, o daemon e a linha de comando que executam containers num Linux, tem licença Apache 2.0 e não custa nada para ninguém, seja pessoa física ou empresa de qualquer tamanho. A cobrança da Docker Inc. existe em dois outros produtos com o mesmo nome: o Docker Desktop, aplicativo para Windows e Mac, que exige assinatura em empresas maiores, e o Docker Hub, o registro de imagens, que limita quantos pulls uma conta gratuita pode fazer. Num VPS você usa só o Engine, então a pergunta que preocupa o financeiro da empresa não alcança o lado do servidor.
A confusão vem do nome. A Docker Inc. chama três coisas diferentes de "Docker", e a pergunta "é gratuito?" tem uma resposta para cada uma. É o mesmo padrão de outras ferramentas com nome único e planos diferentes; quem já precisou descobrir se o n8n é gratuito vai reconhecer a estrutura.
O Docker é gratuito? Depende de qual dos três
- Docker Engine: o programa que roda no Linux. Inclui o daemon
dockerd, o clientedocker, o runtimecontainerde os plugins de build e Compose. É código aberto. É o que existe num VPS. - Docker Desktop: um aplicativo gráfico para Windows, macOS e Linux de estação de trabalho. Por dentro, ele cria uma máquina virtual Linux e roda o Engine dentro dela. No Windows, o backend padrão é o WSL 2, mas também há suporte a Hyper-V e Docker VMM (Beta). O que a Docker vende é esse empacotamento.
- Docker Hub: o serviço em
hub.docker.com, onde ficam as imagens públicas comonginxepostgres. É hospedado pela Docker, com uma conta gratuita e planos pagos.
Quem pergunta "o Docker é gratuito?" quase sempre pensa no Engine e leu notícias sobre o Desktop. Os dois têm licenças diferentes, e nada obriga a usar um com o outro.
Docker Engine: o que roda no servidor é gratuito
O Docker Engine é distribuído sob a licença Apache 2.0. O código-fonte é o projeto Moby, no GitHub. A Apache 2.0 permite uso comercial, uso privado, modificação e redistribuição sem pagar, sem limite de funcionários e sem limite de faturamento. Não existe uma versão "Enterprise" do Engine escondida atrás de um botão de pagamento. A Docker vende suporte e ferramentas ao redor dele, e o Engine em si continua aberto.
No Ubuntu 24.04 existem duas fontes de pacote, e as duas são gratuitas.
A primeira é o repositório do próprio Ubuntu. O pacote se chama docker.io, e o plugin do Compose se chama docker-compose-v2:
sudo apt update
sudo apt install -y docker.io docker-compose-v2A vantagem é receber atualizações junto com o resto do sistema. O Docker tem uma exceção à política de atualizações estáveis do Ubuntu, que permite trazer versões estáveis e compatíveis para as releases suportadas. A versão não fica congelada no lançamento da distribuição.
A segunda fonte é o repositório apt da própria Docker, que publica o pacote docker-ce (Community Edition). O procedimento abaixo é o da documentação oficial da Docker em setembro de 2026, e a própria documentação pede para remover antes os pacotes não oficiais (docker.io, docker-compose, docker-compose-v2, docker-doc, docker-buildx e podman-docker), porque eles fornecem os mesmos binários e entram em conflito. Os pacotes containerd e runc, se instalados separadamente, também precisam ser removidos, pois a Docker fornece essas dependências no pacote containerd.io.
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginDepois de qualquer uma das duas fontes, confira:
sudo systemctl enable --now docker
sudo docker run hello-worldA imagem hello-world é baixada do Docker Hub e imprime uma mensagem de confirmação antes de sair. Se em vez disso aparecer permission denied while trying to connect to the Docker daemon socket, é porque seu usuário não está no grupo docker, que é o grupo dono do socket /var/run/docker.sock. Use sudo, ou adicione o usuário com sudo usermod -aG docker $USER e abra uma nova sessão. Nenhuma dessas etapas pede login nem cartão. O guia de como instalar e configurar o Docker num VPS segue daqui, com firewall e a interação com o ufw.
No Rocky Linux e no AlmaLinux o pacote é o mesmo docker-ce, servido pelo repositório dnf da Docker, com a mesma licença. O passo a passo está em instalar o Docker no Rocky Linux.
Docker Desktop: quem paga e quem não paga
O Docker Desktop é o único dos três com licença de software paga. O acordo de assinatura da Docker, lido em 19 de setembro de 2026, libera o uso gratuito em quatro casos: uso pessoal, educação, projetos de código aberto não comerciais e empresas pequenas. "Empresa pequena" tem definição exata: menos de 250 funcionários e menos de US$ 10 milhões de faturamento anual. As duas condições precisam valer ao mesmo tempo. Uma empresa com 30 funcionários e US$ 12 milhões de faturamento paga. Uma com 300 funcionários e US$ 2 milhões também paga. Entidades governamentais precisam de assinatura paga, independentemente desses limites. O texto do acordo muda de tempos em tempos, então confira docker.com/pricing e a página de licença do Desktop na documentação antes de decidir, em vez de confiar num número arredondado de um post antigo.
Quando a empresa passa do limite, cada pessoa que abre o Desktop precisa de uma assinatura. Os planos, em dólar, por usuário e por mês, em 19 de setembro de 2026: Pro a US$ 9 no plano anual (US$ 11 no mensal), Team a US$ 15 no anual (US$ 16 no mensal) e Business a US$ 24. A Docker cobra em dólar. Num cartão brasileiro entra o IOF (Imposto sobre Operações Financeiras) e o spread cambial do banco, então o valor em reais na fatura é maior do que a conversão simples do dia.
O motivo de só o Desktop ser cobrado é que ele é um pacote proprietário. Ele reúne componentes proprietários da Docker Inc. e componentes de código aberto. O compartilhamento de arquivos depende do backend: no Windows com WSL 2, quem cuida dele é o kernel do WSL 2; com Hyper-V, é o processo com.docker.backend.exe. O Engine que roda dentro dessa VM continua Apache 2.0. A licença cobra o empacotamento.
Existe Docker Desktop para Linux, mas ele é um aplicativo de área de trabalho para estações com interface gráfica. Num servidor sem tela ele não tem função.
Docker Hub: gratuito, com limite de pulls
O Docker Hub é de onde vêm as imagens que você baixa com docker pull. A conta gratuita se chama Personal e não custa nada. A pergunta certa aqui é quantas vezes você pode baixar, porque o limite existe e aparece no pior momento.
Em 4 de novembro de 2026, a página de preços lista a conta Personal com 100 pulls por hora e um repositório privado. A documentação técnica do Hub, na mesma data, mostra os limites numa janela de seis horas: 200 pulls para contas Personal autenticadas e 100 pulls por endereço IPv4 (ou sub-rede IPv6 /64) para quem não fez login. Os números publicados divergem: 100 por hora não equivale a 200 em seis horas. Para a janela e a contagem do limite, consulte a documentação técnica e o limite informado pelo Hub à sua conta. Nos planos Pro, Team e Business, os pulls autenticados são ilimitados, dentro de uma política de uso razoável.
Um pull de uma imagem de arquitetura única conta uma vez; numa imagem multiplataforma, conta uma vez por arquitetura baixada. Rodar docker compose up com dez serviços que ainda não estão no disco faz dez pulls se cada serviço usar uma imagem diferente de arquitetura única. Reiniciar containers que já existem não faz nenhum. Quando o limite estoura, o daemon responde com esta linha:
Error response from daemon: toomanyrequests: You have reached your pull rate limit.Ela aparece em dois cenários comuns. O primeiro é um IP compartilhado: um VPS que sai para a internet pelo mesmo endereço que outros clientes do provedor, ou uma rede de escritório atrás de um único NAT (network address translation, o roteador que esconde vários computadores atrás de um endereço). Todo mundo gasta a mesma cota de 100 pulls não autenticados. O segundo é um pipeline de CI que reconstrói imagens a cada commit.
A solução gratuita é fazer login no servidor, o que troca o limite por IP pelo limite por conta:
docker loginPara o Docker Hub, o comando usa por padrão um código para concluir o login no navegador e termina com Login Succeeded. Para informar usuário e senha ou access token no terminal, use docker login --username SEU_USUARIO. A partir daí os pulls contam na sua conta Personal. Se isso ainda não bastar, as saídas são pagar o plano Pro ou puxar as imagens de outro registro. Muitos projetos publicam também no GitHub Container Registry (ghcr.io) e no Quay (quay.io). Confira a origem e o digest para confirmar que é a mesma imagem. Há também um limite separado contra abuso, por IP, que pode atingir usuários autenticados e planos pagos.
O repositório privado único do plano gratuito importa quando você constrói imagens próprias e não quer expô-las. Com dois projetos privados você já precisa do Pro, ou de um registro próprio no VPS, que é um container registry a mais no Compose.
Num VPS, o Docker Desktop não entra na conta
Este é o ponto que a maioria dos textos sobre licença do Docker não diz com clareza. O Docker Desktop existe para dar um Linux a quem trabalha no Windows ou no macOS. Um VPS já é Linux. Nele o Engine é instalado direto sobre o kernel do sistema, sem máquina virtual no meio e sem o acordo de assinatura do Desktop.
Isso significa que o limite de 250 funcionários e US$ 10 milhões não se aplica ao lado do servidor. Uma empresa de 2.000 funcionários rodando 50 VPS com docker-ce não deve nada à Docker por isso. O que ela pode dever é a licença do Desktop nos notebooks dos desenvolvedores, e a assinatura do Hub se quiser pulls ilimitados ou mais repositórios privados. São contas separadas.
O fluxo comum numa empresa brasileira é este: o desenvolvedor usa o Desktop no notebook (de graça se a empresa for pequena, pago se não), envia o código para um repositório, e o servidor roda o mesmo docker compose up -d que rodou no notebook. O compose.yaml é o mesmo nos dois lados. O básico do Docker Compose num VPS explica como esse arquivo se comporta no servidor, onde não há Desktop para abrir portas ou montar pastas por você.
Para saber qual dos dois está na sua frente, rode docker version. Na seção Server, o Desktop se identifica como Docker Desktop seguido da versão do aplicativo; o Engine instalado num servidor se identifica como Docker Engine - Community. Se aparecer a segunda, não há licença do Desktop envolvida naquela máquina.
Se até o Engine gera dúvida: Podman
Algumas empresas, por política de compliance, preferem não depender de nenhum produto de uma companhia que vende planos, mesmo quando a parte usada é Apache 2.0. O Podman também é gratuito e tem licença Apache 2.0, mas existe uma oferta comercial relacionada: o Red Hat build of Podman Desktop, incluído na assinatura Red Hat Desktop, com suporte empresarial. Ele não tem daemon. Quando executado por um usuário comum, ele roda sem root, o que reduz o estrago se um container for comprometido.
sudo apt install -y podman
podman run --rm docker.io/library/hello-worldRepare no nome completo da imagem. Sem o prefixo, o Podman resolve o nome pelos aliases e registros configurados; usar docker.io/library/ indica explicitamente o Docker Hub. A linha de comando é quase idêntica à do Docker, a ponto de alias docker=podman servir para o uso diário. As diferenças que aparecem em produção, Compose, rede entre containers, integração com o systemd e modo rootless, estão em Podman e Docker comparados num VPS.
No Rocky Linux e no AlmaLinux o Podman é o padrão da distribuição e vem como o pacote podman nos repositórios da distribuição. Isso explica por que muitos servidores corporativos nunca tiveram o Docker instalado e mesmo assim rodam containers.
O Docker é muito pesado?
Essa é a segunda pergunta de quem acabou de aprender o que é Docker, e a resposta muda conforme o que se mede.
Em processador e memória, num VPS, o custo é pequeno. Um container é um processo Linux comum com namespaces (que isolam o que o processo enxerga) e cgroups (que limitam o que ele consome). Ele usa o kernel do próprio VPS, e não existe um segundo kernel como numa máquina virtual. O daemon dockerd ocioso ocupa algumas dezenas de megabytes de memória residente, e um container com nginx custa quase o mesmo que o nginx instalado direto no sistema. O peso que as pessoas associam ao Docker é o do Docker Desktop no Windows, que mantém uma VM Linux ligada o tempo todo, e essa VM não existe num servidor.
Em disco, sim, se ninguém cuidar. Cada docker pull guarda camadas de imagem em disco: no armazenamento clássico, em /var/lib/docker; em instalações novas do Docker Engine 29 ou posterior, o padrão é o armazenamento de imagens do containerd, em /var/lib/containerd. Volumes e configurações continuam em /var/lib/docker. Cada docker compose up --build pode deixar a imagem anterior sem tag mas ainda em disco. Containers parados mantêm sua camada gravável. Volumes de projetos já apagados continuam lá. Cache de build acumula a cada Dockerfile alterado. Num VPS de 25 GB, seis meses disso enchem a partição, e o sintoma é o mais confuso possível: no space left on device dentro de um container que não tem nada a ver com o problema. Rode docker system df de vez em quando para ver quanto está em imagens, containers, volumes e cache de build, e leia como limpar o disco que o Docker consome com prune antes de a partição chegar a 100%.
O que você vai pagar, resumido
- Docker Engine num VPS: nada, para qualquer pessoa ou empresa. Licença Apache 2.0.
- Docker Desktop no notebook: nada para uso pessoal, ensino, código aberto não comercial e empresas com menos de 250 funcionários e menos de US$ 10 milhões de faturamento anual. Fora desses limites, assinatura por usuário, a partir de US$ 9 por mês no plano anual em setembro de 2026. Entidades governamentais precisam de assinatura paga.
- Docker Hub: conta Personal gratuita com limite de pulls e um repositório privado. Pulls ilimitados e mais repositórios privados começam no plano Pro.
- Podman: gratuito, com licença Apache 2.0. O Podman Desktop comunitário também é gratuito; a Red Hat oferece uma versão com assinatura e suporte empresarial.
Se a dúvida era se o servidor vai gerar uma fatura da Docker Inc., a resposta é não. A licença que a imprensa de tecnologia discute desde 2021 é a do aplicativo de área de trabalho, e ela nunca alcançou o Engine.
FAQ
Preciso pagar para usar o Docker num servidor Linux?
Não. O Docker Engine, que é o daemon e a linha de comando que rodam containers num VPS, tem licença Apache 2.0 e é gratuito para uso pessoal e comercial, sem limite de funcionários ou faturamento. Os pacotes docker.io do Ubuntu e docker-ce do repositório da Docker são os dois gratuitos. A cobrança da Docker vale para o Docker Desktop, o aplicativo de Windows e Mac, e para os planos pagos do Docker Hub.
Minha empresa tem mais de 250 funcionários. O que muda?
Muda só no notebook. Com 250 funcionários ou mais, ou faturamento anual de US$ 10 milhões ou mais, cada pessoa que usa o Docker Desktop precisa de uma assinatura paga, conforme o acordo de assinatura da Docker conferido em 4 de novembro de 2026. Os servidores com Docker Engine continuam gratuitos. Uma alternativa para o notebook é rodar o Engine numa VM Linux ou no WSL 2 sem o Desktop, ou usar o Podman Desktop, que é gratuito.
O que fazer quando aparece "toomanyrequests" no docker pull?
Se a mensagem inclui "You have reached your pull rate limit", você atingiu o limite de pulls do Docker Hub. Sem login, o limite é contado por endereço IP, então um VPS que compartilha IP de saída ou uma rede de escritório atrás de NAT esgota a cota rápido. Rode docker login no servidor com uma conta Personal gratuita para que os pulls passem a contar por conta em vez de por IP. Se ainda não bastar, use um registro alternativo como ghcr.io para as imagens que também são publicadas lá, ou assine o plano Pro. Uma resposta apenas com "Too Many Requests" indica o limite contra abuso; nesse caso, corrija pipelines que repetem requisições em excesso e aumente o intervalo entre tentativas.
O Docker deixa o VPS lento?
Em processador e memória, não de forma perceptível: um container é um processo comum que usa o kernel do próprio VPS, sem máquina virtual no meio. O peso que as pessoas associam ao Docker vem do Docker Desktop no Windows, que mantém uma VM Linux ligada, e essa VM não existe num servidor. O que cresce com o tempo é o disco, com imagens antigas, containers parados, volumes órfãos e cache de build em /var/lib/docker e, nas instalações que usam o armazenamento de imagens do containerd, em /var/lib/containerd. docker system df mostra quanto está ocupado e docker system prune remove containers parados, redes sem uso, imagens sem tag e cache de build sem uso; volumes exigem uma opção ou comando específico.