image

Acesse bootcamps ilimitados e +650 cursos

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

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

    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.

    Compartilhe
    Comentários (0)