Este documento explica como configurar um Docker Registry privado protegido por usuário e senha utilizando Docker Compose.
1. Criar um arquivo de senhas
Antes de iniciar o serviço, crie um arquivo de senhas para autenticação:
mkdir -p auth
docker run --rm --entrypoint htpasswd httpd:2 -Bbn usuario senha > auth/htpasswd
Substitua usuario
e senha
pelos valores desejados.
2. Criar o arquivo docker-compose.yml
Agora crie um arquivo docker-compose.yml
com o seguinte conteúdo:
version: "3"
services:
registry:
image: registry:2
container_name: private-registry
restart: always
ports:
- "5000:5000"
environment:
REGISTRY_AUTH: htpasswd
REGISTRY_AUTH_HTPASSWD_REALM: "Registry Realm"
REGISTRY_AUTH_HTPASSWD_PATH: /auth/htpasswd
REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /var/lib/registry
volumes:
- registry-data:/var/lib/registry
- ./auth:/auth
volumes:
registry-data:
3. Subir o serviço
Execute o seguinte comando para iniciar o Registry:
docker-compose up -d
4. Autenticação e Uso
Fazer login no Registry
docker login localhost:5000 -u usuario -p senha
Enviar uma imagem para o Registry
docker tag nginx:latest localhost:5000/nginx
docker push localhost:5000/nginx
Listar as imagens armazenadas
curl -u usuario:senha http://localhost:5000/v2/_catalog
Agora seu Docker Registry privado está configurado e protegido com autenticação. 🚀