Docker Hub vs Oracle OCIR: onde guardar imagens privadas#
Quando comecei a empacotar minhas aplicações em contêineres, surge uma dúvida clássica: onde armazenar essas imagens de forma privada, segura e acessível na nuvem?
Recentemente, avaliei as principais opções para guardar imagens personalizadas sem deixá-las expostas publicamente. A primeira ideia que vem à mente da maioria é o Docker Hub. Mas será que ele é a única ou a melhor opção para repositórios privados gratuitos?
Abaixo, compartilho a análise técnica comparando o Docker Hub com o OCIR (OCI Container Registry) da Oracle Cloud.
1. Docker hub: o padrão da indústria resolve?#
O Docker Hub (hub.docker.com) é o registro oficial da Docker. Ele funciona conceitualmente de forma similar ao GitHub, mas em vez de versionar código-fonte em texto, ele armazena as camadas (layers) binárias das imagens de contêineres.
A limitação do plano gratuito#
O Docker Hub permite criar repositórios privados, mas possui uma limitação importante:
- Apenas 1 repositório privado gratuito: Se você tem múltiplos projetos, microserviços ou branches isoladas, precisará assinar os planos pagos (Pro ou Team) ou deixar as imagens públicas.
Como funciona o fluxo de push no Docker hub#
- Construção da imagem localmente:
docker build -t minha-aplicacao:latest .
- Login no terminal:
docker login
(Informe seu usuário e o Personal Access Token gerado na plataforma)
- Tagging apontando para o seu namespace:
docker tag minha-aplicacao:latest usuario-docker/meu-repo-privado:1.0.0
- Envio para a nuvem:
docker push usuario-docker/meu-repo-privado:1.0.0
2. A alternativa da Oracle: OCI container registry (OCIR)#
Buscando alternativas com limites mais generosos para projetos privados, analisei o OCIR (OCI Container Registry) da Oracle Cloud Infrastructure.
Por que o OCIR se destaca?#
- Cota Always Free generosa: Diferente do Docker Hub (que limita a 1 repo privado), a Oracle disponibiliza 500 GB de armazenamento de imagens por mês dentro da sua camada gratuita, além de franquia de tráfego de dados.
- Compatibilidade total com a Docker CLI: O OCIR segue o padrão da Docker Registry v2 API. Você usa exatamente os mesmos comandos que já conhece (
docker login,docker tag,docker push), sem precisar de ferramentas proprietárias instaladas.
Como configurar o envio no OCIR#
O padrão de nomenclatura do OCIR exige o código da região e o nome da conta (tenancy):
- Login no registro regional:
No painel da Oracle, gere um Auth Token para o seu usuário e faça o login apontando para o endpoint da sua região:
docker login sa-saopaulo-1.ocir.io
Username padrão: <nome-da-tenancy>/usuario@email.com
- Tagging com o caminho do OCIR:
docker tag minha-aplicacao:latest sa-saopaulo-1.ocir.io/minha-tenancy/meu-app-privado:1.0.0
- Push direto para a nuvem:
docker push sa-saopaulo-1.ocir.io/minha-tenancy/meu-app-privado:1.0.0
3. Vantagens de rede: tráfego interno e zero custo de saída#
Se você já roda servidores virtuais (VMs) ou clusters Kubernetes (OKE) dentro da infraestrutura da Oracle Cloud, utilizar o registro na mesma nuvem traz benefícios imediatos:
- Segurança interna: O download das imagens pode acontecer via rede privada (VCN), sem transitar dados pela internet pública.
- Latência reduzida: O download das camadas de imagem nos deploys é muito mais veloz.
- Economia em tráfego: O tráfego de dados interno não consome a franquia de saída de internet.
Resumo prático da escolha#
- Docker Hub: Excelente para quem tem apenas um único projeto privado ou deseja centralizar tudo no ecossistema padrão da Docker sem criar contas em provedores de nuvem adicionais.
- Oracle OCIR: A escolha mais vantajosa para quem gerencia múltiplos repositórios privados, precisa de bastante espaço (até 500 GB sem custo) ou já roda máquinas virtuais na OCI.
- Outras alternativas gratuitas: Vale também considerar o GitHub Packages (ghcr.io), que se integra perfeitamente ao GitHub Actions, e o GitLab Container Registry.
Este artigo foi útil?
Deixe uma reação rápida para apoiar o conteúdo:
Este post está licenciado sob CC BY-NC.



Comentários
Participe da discussão abaixo.
0 comentários