Habilidade: Registro OCI Local
Propósito
Iniciar e gerenciar um registro OCI local para desenvolvimento. Isso permite construir e publicar kits localmente sem exigir acesso a um registro externo.
Quando Usar
- Desenvolvendo alterações em kits que precisam ser consumidos por variantes
- Testando alterações em kits antes de publicar em registros de produção
- Trabalhando offline ou em ambientes isolados
Pré-requisitos
- Docker instalado e em execução
- Trabalhando dentro de um diretório grove
Procedimento
Iniciar o registro
brdev registry start
Isso irá:
- Iniciar um registro Docker local em
localhost:5000 - Configurar persistência (os dados do registro sobrevivem a reinicializações)
- Aguardar até que o registro esteja saudável antes de retornar
- Exibir a URL do registro para uso em builds
Verificar se o registro está em execução
brdev registry status
Retorna código de saída 0 se estiver em execução, não zero caso contrário.
Obter URL do registro
brdev registry url
Exibe localhost:{porta} para o grove atual. Use isso em scripts em vez de codificar as portas.
Visualizar logs do registro
brdev registry logs
Para seguir os logs em tempo real:
brdev registry logs --follow
Parar o registro
brdev registry stop
Nota: Isso preserva o volume de dados do registro.
Limpar dados do registro
brdev registry clean
Isso remove tanto o contêiner quanto o volume de dados.
Configuração
O brdev usa variáveis de ambiente para configuração. Crie um arquivo .env na raiz da forest ou defina variáveis de ambiente:
# Imagem personalizada (padrão: registry:2)
BRDEV_REGISTRY_IMAGE=registry:2.8
Nota: Os nomes do contêiner e do volume são derivados automaticamente do nome do grove como brdev-registry-{grove} e brdev-registry-data-{grove}. A porta é derivada automaticamente de um hash do nome do grove (faixa 5001-5999).
Validação
Após iniciar o registro:
brdev registry list
Deve retornar: {"repositories":[]}
Problemas Comuns
Docker não instalado:
Error: Docker is not installed or not in PATH. Install Docker and ensure it's in your PATH
Solução: Instale o Docker e certifique-se de que ele esteja no PATH.
Daemon do Docker não está em execução:
Error: Docker daemon is not running. Start Docker with: sudo systemctl start docker
Solução: Inicie o daemon do Docker.
Porta já em uso:
Error: Failed to start container. The port may already be in use
Solução:
- Verifique se há um registro existente:
docker ps | grep registry - Pare o contêiner conflitante:
docker stop <id-do-container> - Ou use uma porta personalizada via
FORESTER_REGISTRY_PORT
Permissão negada:
- Certifique-se de que o usuário está no grupo docker:
groups | grep docker - Adicione o usuário ao grupo docker:
sudo usermod -aG docker $USER - Pode ser necessário reiniciar o shell após adicionar ao grupo
Habilidades Relacionadas
build-kit-locally- Usa o registro local para publicar kits construídosbuild-variant-from-local-kits- Configura builds de variantes para usar o registro local
Veja Também
Comandos de configuração para uso do registro local:
Para publicar kits:
brdev twoliter use-local-publish- CriaInfra.tomlpara publicar no registro localbrdev twoliter use-upstream-publish- RemoveInfra.toml
Para buscar kits:
brdev twoliter use-local-deps- CriaTwoliter.overridepara buscar do registro localbrdev twoliter use-upstream-deps- RemoveTwoliter.override
Ambos (conveniência):
brdev twoliter use-local- Cria ambos os arquivosbrdev twoliter use-upstream- Remove ambos os arquivos
Ao buscar, também defina vendor = "local" em Twoliter.toml para kits específicos que você deseja do registro local.