/docker-registry

Descrição básica de como hospedar seus containers Docker usando sua máquina local, recomendado para padronização e organização do seu ambiente de desenvolvimento local.

MIT LicenseMIT

Implementar um Registry local

Resumo

Esta página foi elaborada, com informações básicas sobre como você pode manter seus Containers usando o Docker Distribution em seu ambiente local.

O Docker Distribuition, é um registry repositório de imagens Docker local, serve para guardar e compartilhar as suas imagens.

Aviso

Esta é uma sugestão de uma configuração inicial para o Registry local, para máquinas de testes. Não implemente um servidor de registro em produção, sem proteção por TLS e um mecanismo de controle de acesso.

Pré-requisitos:

- Máquina com sistema operacional Linux;
- Você precisa ter o Docker instalado em sua máquina local;

Criar o Registry Local

Para que possamos ter o Docker Distribuition, de forma simples e funcional, guardando e distribuindo nossas imagens Docker localmente, basta rodá-lo como um container, execute o seguinte comando:

$ docker container run -d -p 5000:5000 --restart=always --name registry registry:2

Resultado da execução

O container ID 50086bf481e753e39f8098487594cf85827d040af41f5c989fccffbc8dc0d782 foi criado com sucesso!

Você pode verificar se o container registry está em execução, através de um dos comandos abaixo:

$ docker container ls

$ docker container ps 

$ docker ps

O container foi criado e está em execução. Agora vamos testá-lo realizando a submissão de uma imagem de teste no repositório.

Quando você criar um container registry, uma estrutura de diretórios será construída em sua máquina local, onde todas as imagens enviadas serão organizadas. Para descobrir a localização do repositório, observe o comando abaixo:

Lembrando que: O repositório será montado, no sitema de arquivos Linux, somente se o container registry estiver em execução (rodando).

$ df -h

Testar o Registry Local

  1. Baixe uma imagem Docker Hub, usando o comando abaixo:
$ docker pull centos

  1. Para verificar as imagens baixas digite:
$ docker image ls

  1. Vamos preparar a imagem centos ID 300e315adb2f, para envio ao repositório "registry" local. Teremos que adicionar uma nova TAG, apontando para o endereço do registry. Para isso, vamos utilizar o comando "docker tag".
$ docker tag 300e315adb2f localhost:5000/centos
    

  1. A imagem localhost:5000/centos está pronta para enviarmos para o repositório.

Na versão Docker Entreprise, exitem outros comandos que ajudam na gestão do repositório, tais como:

$ docker registry events	
$ docker registry history	
$ docker registry info	
$ docker registry inspect	
$ docker registry joblogs	
$ docker registry jobs	
$ docker registry ls	
$ docker registry rmi

5 ) Enviar a imagem para o repositório

$ docker push localhost:5000/centos

Feito! a imagem foi arquivada no repositório local.*

Testaremos a recuperação ou distribuição da imagem via repositório criado. Para isto, apagaremos do cache a imagem do CentOS que baixamos, e a imagem que foi preparada.

$ docker image ls

$ docker image rm -f 300e315adb2f (Este comando apaga imagem 300e315adb2f)

$ docker image ls

Baixe a imagem do CentOS que está no repositório local.

$ docker pull localhost:5000/centos

$ docker image ls

Pronto! a imagem foi baixada do repositório local.

Usamos o Docker Distribuition, em ambiente de desenvolvimento e acadêmico fora da Internet, para centralizar, organizar e compartilhar, as imagens dos projetos os quais estamos trabalhando, com o restante das equipes. E, as imagens mais importantes, sempre fazemos um backup externo. (O que recomendo)

Caso, você esteja pensando em implementar um servidor Registry em produção, eu sugiro leitura complementar em Docker Registry, para a implementação de regras adicionais de segurança.

Espero ter contribuido com o seu desenvolvimento de alguma forma.

Carlos Eugênio

Referências:

  1. Docker
  2. Docker Registry
  3. Livro: Descomplicando o Docker 2a edição
    Jeferson Fernando Noronha Vitalino
    Marcus André Nunes Castro