Olá, Jackson!
Você está correto ao comparar o Docker Hub com o GitHub no contexto de repositórios. Assim como no Git, onde é possível utilizar diferentes provedores de repositórios, no Docker também temos essa flexibilidade.
Para além do Docker Hub, existem outros provedores de repositórios Docker, como:
- Amazon Elastic Container Registry (ECR)
- Google Container Registry (GCR)
- Azure Container Registry (ACR)
- GitLab Container Registry
- Quay.io
Além desses, você pode configurar um repositório privado para uso interno na sua empresa. Uma das opções mais populares para isso é o Harbor, que é um repositório de contêineres open-source que você pode hospedar localmente.
Como configurar um repositório Docker privado usando o Harbor
Instalação do Harbor:
- Baixe o Harbor no site oficial Harbor Releases.
- Extraia o arquivo baixado e configure o
harbor.yml
de acordo com suas necessidades. - Execute o script de instalação:
./install.sh
.
Configuração do Docker para usar o Harbor:
- Após a instalação, você pode acessar o Harbor através do navegador e criar um projeto para armazenar suas imagens.
- No terminal, faça login no seu repositório Harbor:
docker login <endereço_do_seu_harbor>
- Para enviar uma imagem para o Harbor, você deve marcar a imagem com a URL do seu repositório:
docker tag imagem_b:latest <endereço_do_seu_harbor>/projeto/imagem_b:latest
- Em seguida, faça o push da imagem:
docker push <endereço_do_seu_harbor>/projeto/imagem_b:latest
Exemplo Prático
Suponha que o endereço do seu Harbor seja harbor.empresa.com
e você tenha um projeto chamado interno
:
Taguear a imagem:
docker tag imagem_b:latest harbor.empresa.com/interno/imagem_b:latest
Fazer o push da imagem:
docker push harbor.empresa.com/interno/imagem_b:latest
Dessa forma, a imagem imagem_b
será enviada para o repositório privado do Harbor, enquanto a imagem_a
pode ser enviada para o Docker Hub conforme descrito no curso.
Bons estudos!