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 (no Windows, via WSL 2) e roda o Engine dentro dela. 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. A desvantagem é a idade: o Ubuntu congela a versão a cada release, então o docker.io costuma estar meses ou anos atrás do que a Docker publica.
A segunda fonte é o repositório apt da própria Docker, que publica o pacote docker-ce (Community Edition). Ele recebe versões novas em semanas. 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.
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. 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. A máquina virtual, a integração com o WSL 2, o painel gráfico e a sincronização de arquivos entre o Windows e o Linux virtual são código da Docker Inc., não do projeto Moby. 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 19 de setembro 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, ainda mostra os limites numa janela de seis horas: 200 pulls para contas autenticadas e 100 pulls por endereço IPv4 (ou sub-rede IPv6 /64) para quem não fez login. Os dois textos convivem, e na prática dizem o mesmo: sem login, o limite é por IP; com login gratuito, o limite é maior mas existe; nos planos Pro, Team e Business ele deixa de existir, dentro de uma política de uso razoável.
Um pull é uma requisição do manifesto de uma imagem. Rodar docker compose up com dez serviços que ainda não estão no disco faz dez pulls. 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 loginO comando pede usuário e senha, ou um access token gerado no site, e termina com Login Succeeded. 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 para uma conta de serviço ou puxar as imagens de outro registro. Muitos projetos publicam também no GitHub Container Registry (ghcr.io) e no Quay (quay.io), que não têm o mesmo limite, e a imagem é idêntica.
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. Para esse caso existe o Podman, mantido pela Red Hat, também Apache 2.0, e sem nenhum produto pago com o mesmo nome. Ele não tem daemon: cada container é um processo filho do seu shell. Por padrão 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. O Podman não assume que uma imagem sem prefixo vem do Docker Hub, então docker.io/library/ precisa aparecer, ou você define os registros padrão em /etc/containers/registries.conf. 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 base. 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 /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. Acima disso, assinatura por usuário, a partir de US$ 9 por mês no plano anual em setembro de 2026.
- 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: nada, em qualquer cenário, e sem produto pago associado.
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. Acima de 250 funcionários ou de US$ 10 milhões de faturamento anual, cada pessoa que usa o Docker Desktop precisa de uma assinatura paga, conforme o acordo de assinatura da Docker lido em 19 de setembro 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?
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 para uma conta de serviço.
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. docker system df mostra quanto está ocupado e docker system prune libera o que não está em uso.