Como alternar entre o Docker Hub e um registo privado

DockerBeginner
Pratique Agora

Introdução

Docker é uma plataforma popular de contentores que permite aos desenvolvedores empacotar e implantar aplicações de forma consistente e repetível. Um dos componentes chave do ecossistema Docker é o registo Docker, que funciona como um repositório para armazenar e distribuir imagens Docker. Neste tutorial, aprenderá a alternar entre o Docker Hub público e um registo Docker privado, garantindo que as suas implantações Docker sejam seguras e flexíveis.

Introdução aos Registos Docker

Os registos Docker são centros onde as imagens Docker são armazenadas e distribuídas. Funcionam como a espinha dorsal do ecossistema Docker, permitindo que desenvolvedores e organizações geriem e partilhem as suas aplicações em contentores. Nesta secção, exploraremos os fundamentos dos registos Docker, o seu propósito e os diferentes tipos de registos disponíveis.

O que é um Registo Docker?

Um registo Docker é uma aplicação do lado do servidor que armazena e distribui imagens Docker. Age como um repositório onde as imagens Docker são empurradas, puxadas e partilhadas entre utilizadores e equipas. Os registos Docker permitem a distribuição e implantação de aplicações em contentores em diferentes ambientes, desde o desenvolvimento à produção.

Tipos de Registos Docker

Existem dois tipos principais de registos Docker:

  1. Registos Públicos: Os registos públicos, como o Docker Hub, são acessíveis a qualquer pessoa na internet. Fornecem uma vasta coleção de imagens Docker pré-construídas que os desenvolvedores podem usar como ponto de partida para as suas próprias aplicações.

  2. Registos Privados: Os registos privados são propriedade e geridos por organizações ou equipas individuais. Permitem hospedar as suas próprias imagens Docker personalizadas, garantindo maior controlo e segurança sobre os artefactos da sua aplicação.

Benefícios da Utilização de Registos Docker

Os registos Docker oferecem vários benefícios a desenvolvedores e organizações:

  1. Armazenamento Centralizado de Imagens: Os registos Docker fornecem um local centralizado para armazenar e gerir imagens Docker, tornando mais fácil partilhar e distribuir as suas aplicações.

  2. Controlo de Versões e Etiquetas: Os registos permitem etiquetar e controlar as versões das suas imagens Docker, permitindo uma melhor organização e acompanhamento da evolução da sua aplicação.

  3. Escalabilidade e Alta Disponibilidade: Registos Docker robustos podem lidar com grandes volumes de puxadas e empurrões de imagens, garantindo que as suas aplicações possam escalar e manter-se altamente disponíveis.

  4. Segurança e Controlo de Acesso: Os registos privados oferecem funcionalidades de segurança melhoradas, como controlo de acesso e autenticação, para proteger as imagens de contentores sensíveis da sua organização.

  5. Construção e Implantação Automatizadas: Os registos Docker podem ser integrados com pipelines de integração contínua (CI) e implantação contínua (CD), simplificando os processos de construção e implantação da sua aplicação.

Compreendendo os fundamentos dos registos Docker, pode gerir e distribuir eficazmente as suas aplicações em contentores, garantindo implantações consistentes e fiáveis em diferentes ambientes.

Aceder ao Docker Hub

O Docker Hub é o maior registo público mundial para imagens Docker, fornecendo uma vasta coleção de imagens pré-construídas que os desenvolvedores podem usar como ponto de partida para as suas próprias aplicações. Nesta secção, exploraremos como aceder e interagir com o Docker Hub.

Registo numa Conta Docker Hub

Para aceder ao Docker Hub, precisa de criar uma conta. Pode registar-se numa conta gratuita do Docker Hub visitando o site do Docker Hub e clicando no botão "Sign Up".

Efetuar Login no Docker Hub

Depois de ter uma conta Docker Hub, pode efetuar login no registo usando a CLI Docker. Abra um terminal e execute o seguinte comando:

docker login

Isto irá pedir-lhe que introduza o seu nome de utilizador e palavra-passe do Docker Hub. Após a autenticação bem-sucedida, pode começar a interagir com o Docker Hub.

Procurar Imagens Docker

Para procurar imagens Docker no Docker Hub, pode usar o comando docker search. Por exemplo, para procurar a imagem oficial Ubuntu, execute:

docker search ubuntu

Isto irá apresentar uma lista de imagens baseadas em Ubuntu disponíveis, incluindo as suas descrições, o número de estrelas (uma medida de popularidade) e o número de puxadas.

Puxar Imagens Docker

Para puxar uma imagem Docker do Docker Hub, utilize o comando docker pull seguido do nome da imagem. Por exemplo, para puxar a imagem Ubuntu mais recente, execute:

docker pull ubuntu:latest

Isto irá descarregar a imagem especificada do Docker Hub e armazená-la no seu computador local, pronta para ser usada nos seus contentores Docker.

Empurrar Imagens Docker

Se tiver criado as suas próprias imagens Docker, pode empurrá-las para o Docker Hub para as partilhar com outros. Primeiro, precisa de etiquetar a sua imagem local com o repositório e nome de utilizador apropriados do Docker Hub. Por exemplo:

docker tag my-image username/my-image:latest

Em seguida, pode empurrar a imagem para o Docker Hub usando o comando docker push:

docker push username/my-image:latest

Dominando os fundamentos de acesso e interação com o Docker Hub, pode tirar partido do vasto ecossistema de imagens Docker pré-construídas e gerir eficientemente a distribuição das suas próprias aplicações em contentores.

Configurando um Registo Privado

Embora o Docker Hub forneça um registo público conveniente, pode haver situações em que precisa de configurar um registo privado para hospedar as imagens Docker personalizadas da sua organização. Nesta secção, guiá-lo-emos através do processo de configuração de um registo Docker privado.

Implementando um Registo Privado

Para implementar um registo Docker privado, pode utilizar a imagem oficial do Docker Registry. Primeiro, extraia a imagem do registo do Docker Hub:

docker pull registry:2

Em seguida, execute o contêiner do registo usando o seguinte comando:

docker run -d --name registry -p 5000:5000 registry:2

Isto iniciará um registo Docker privado no seu computador local, a escutar na porta 5000.

Empurrar Imagens para o Registo Privado

Para empurrar as suas imagens Docker para o registo privado, precisa de etiquetá-las com o URL do registo apropriado. Supondo que o seu registo privado está a funcionar em localhost:5000, pode etiquetar uma imagem assim:

docker tag my-image localhost:5000/my-image:latest

Em seguida, empurre a imagem para o registo privado:

docker push localhost:5000/my-image:latest

Puxar Imagens do Registo Privado

Para puxar uma imagem do seu registo privado, utilize o seguinte comando:

docker pull localhost:5000/my-image:latest

Segurança do Registo Privado

Por defeito, o registo privado não está protegido, o que significa que qualquer pessoa pode aceder e interagir com ele. Para melhorar a segurança do seu registo privado, pode configurá-lo para utilizar HTTPS e implementar autenticação.

Ativar HTTPS

Para ativar HTTPS para o seu registo privado, precisa de fornecer um certificado SSL/TLS válido. Pode utilizar um certificado autoassinado ou obter um de uma Autoridade de Certificação (CA) de confiança.

Depois de ter os ficheiros de certificado e chave, pode executar o contêiner do registo com o seguinte comando:

docker run -d --name registry \
  -p 5000:5000 \
  -v /path/to/certs:/certs \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \
  registry:2

Isto iniciará o contêiner do registo com HTTPS ativado.

Implementar Autenticação

Para adicionar autenticação ao seu registo privado, pode utilizar o mecanismo de autenticação básica integrado do Docker Registry. Isto envolve criar um ficheiro de palavra-passe e executar o contêiner do registo com as variáveis de ambiente apropriadas.

Configurando um registo Docker privado, pode manter maior controlo sobre as imagens de contentores da sua organização, garantindo a segurança e integridade das suas aplicações.

Resumo

Seguindo este tutorial, irá adquirir o conhecimento necessário para alternar sem problemas entre o Docker Hub e um registo Docker privado. Isto permitirá tirar partido das vantagens de registos públicos e privados, garantindo que as suas implantações Docker são seguras, escaláveis e adaptadas às suas necessidades específicas.