image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Raja Novaes
Raja Novaes21/11/2024 09:55
Share

Como Realizar o Upload de Imagens para o Docker Hub e Criar um Docker Registry Privado

  • #Docker

O Docker Hub é uma plataforma de repositórios de imagens Docker onde você pode armazenar, compartilhar e reutilizar imagens de containers. Se você desenvolve ou utiliza imagens Docker com frequência, saber como realizar o upload dessas imagens para o Docker Hub pode facilitar o gerenciamento de seus projetos. Neste artigo, vamos explorar o processo de envio de imagens para o Docker Hub, bem como a criação de um Docker Registry privado, utilizando ferramentas e comandos específicos.

Parte 1: Realizando o Upload de Imagens para o Docker Hub

1. Criar uma Conta no Docker Hub

O primeiro passo para realizar o upload de uma imagem é criar uma conta no Docker Hub. Acesse o site oficial do Docker Hub e cadastre-se. Caso já tenha uma conta, basta fazer login.

2. Fazer Login no Docker Hub

Com sua conta criada, é hora de se autenticar para enviar suas imagens. Para isso, abra o terminal no PowerShell (ou em qualquer terminal Linux) e execute o comando:

bash
Copiar código
docker login

Você será solicitado a inserir seu nome de usuário e senha do Docker Hub. Após a autenticação, você estará pronto para enviar suas imagens.

3. Construir a Imagem Docker

Antes de realizar o upload, é necessário criar a imagem Docker. Suponhamos que você tenha um Dockerfile no diretório atual. Para gerar a imagem com o nome de usuário e nome desejado, execute:

bash
Copiar código
docker build . -t nomedousuario/nome-da-imagem

Exemplo: Se o seu nome de usuário for lucasdev e o nome da imagem for meuapp, use:

bash
Copiar código
docker build . -t lucasdev/meuapp

Isso cria uma imagem Docker pronta para ser compartilhada.

4. Verificar a Imagem Criada

Para confirmar que a imagem foi criada corretamente, execute o comando:

bash
Copiar código
docker images

Esse comando mostrará uma lista de imagens locais, incluindo aquela que você acabou de criar.

5. Realizar o Upload para o Docker Hub

Agora que sua imagem está pronta, é hora de enviá-la para o Docker Hub. Execute o comando:

bash
Copiar código
docker push nomedousuario/nome-da-imagem

Exemplo:

bash
Copiar código
docker push lucasdev/meuapp

Esse comando envia a imagem para o repositório associado ao seu nome de usuário no Docker Hub.

6. Verificar o Upload no Docker Hub

Depois de realizar o upload, você pode confirmar se a imagem foi enviada corretamente. Acesse sua conta no Docker Hub e vá até o repositório para visualizar a imagem.

7. Baixar a Imagem de Volta para Testes

Se quiser verificar se a imagem foi corretamente enviada, você pode baixá-la novamente utilizando o comando:

bash
Copiar código
docker pull nomedousuario/nome-da-imagem

Exemplo:

bash
Copiar código
docker pull lucasdev/meuapp

Isso baixará a imagem do Docker Hub para seu ambiente local.

Parte 2: Criando um Docker Registry Privado

Um Docker Registry privado permite que você tenha um repositório local para suas imagens Docker, sem depender de serviços públicos como o Docker Hub. Veja como configurá-lo.

1. Instalar o Docker no Windows

Se você ainda não tem o Docker instalado, baixe o Docker Desktop para Windows no site oficial. Uma vez instalado, você pode integrar o Docker ao PowerShell.

2. Subir um Docker Registry

Para criar um Docker Registry privado, execute o seguinte comando no PowerShell:

powershell
Copiar código
docker run -d -p 5000:5000 --restart=always --name registry registry:2

Esse comando executa o container Docker Registry na sua máquina local, acessível através da porta 5000.

3. Verificar o Docker Registry

Para verificar se o Docker Registry está funcionando corretamente, use o comando:

powershell
Copiar código
docker ps

Isso exibirá todos os containers em execução, incluindo o seu Registry, que estará rodando na porta 5000.

4. Obter o IP da Máquina Local

Para interagir com seu Docker Registry, você pode usar localhost ou o IP da sua máquina local. Para descobrir o IP, execute:

powershell
Copiar código
ipconfig

O endereço IPv4 que aparecer será o IP da sua máquina.

5. Marcar a Imagem para o Registro

Antes de enviar a imagem para o Docker Registry, você precisa marcá-la com o endereço do seu Registry local. Execute o comando:

powershell
Copiar código
docker image tag nome-da-imagem localhost:5000/nome-da-imagem

Aqui, localhost:5000 é o endereço do seu Docker Registry, e nome-da-imagem é o nome da imagem a ser enviada.

6. Verificar as Imagens Locais

Para garantir que a imagem foi marcada corretamente, execute:

powershell
Copiar código
docker images

Isso exibirá todas as imagens no seu sistema local, incluindo a que você acabou de marcar para o Docker Registry.

7. Push da Imagem para o Registro

Agora, envie a imagem para o seu Docker Registry local com o comando:

powershell
Copiar código
docker push localhost:5000/nome-da-imagem

Esse comando enviará a imagem para o seu Docker Registry privado.

8. Configurar Docker para Registros Inseguros

Se o Docker não permitir o envio de imagens para um registro não seguro (como o seu registro local), você precisará alterar a configuração do Docker. Para permitir o uso de registros inseguros, edite o arquivo daemon.json:

powershell
Copiar código
notepad C:\ProgramData\Docker\config\daemon.json

Adicione a linha abaixo no arquivo:

json
Copiar código
{
"insecure-registries": ["localhost:5000"]
}

Salve e feche o arquivo.

9. Reiniciar o Docker

Após alterar o arquivo de configuração, reinicie o Docker:

powershell
Copiar código
Restart-Service docker

Ou reinicie manualmente o Docker Desktop.

10. Puxar a Imagem do Registro Privado

Agora, teste se a imagem foi corretamente enviada para o seu Docker Registry privado com:

powershell
Copiar código
docker pull localhost:5000/nome-da-imagem

Isso fará o download da imagem do seu registro local.

11. Verificar a Imagem no Registro

Por fim, você pode verificar se a imagem foi armazenada corretamente no seu Docker Registry utilizando o curl:

powershell
Copiar código
curl http://localhost:5000/v2/nome-da-imagem/tags/list

Isso retornará uma lista de tags da imagem armazenada no seu registro.

Dicas Finais

  • Segurança: Ao usar um Docker Registry privado, considere utilizar HTTPS (SSL) para garantir a segurança da comunicação.
  • Verificação de Permissões: Certifique-se de que o Docker está configurado para permitir conexões inseguros, ou utilize certificados SSL.
  • Gerenciamento de Portas: Se estiver em uma rede corporativa ou com firewall, garanta que a porta 5000 esteja liberada.

Com essas orientações, você poderá criar, armazenar e compartilhar suas imagens Docker de maneira eficiente, seja no Docker Hub público ou em um Docker Registry privado.

Share
Recommended for you
Decola Tech 2025
Suzano - Python Developer
Bootcamp Bradesco - Java Cloud Native
Comments (0)