As instâncias do Harbor usam certificados Transport Layer Security (TLS) emitidos pela autoridade de certificação (AC) raiz fidedigna da sua organização. Isto encripta a ligação entre o cliente Docker e o registo do Harbor para proteger as imagens contra o acesso não autorizado.
Antes de começar
Tem de realizar estes passos antes de gerir as imagens do contentor:
- Instale o Docker, se ainda não estiver instalado, seguindo as instruções em https://docs.docker.com/engine/install/ubuntu/. O Docker está incluído no Cloud Shell.
O Docker requer acesso privilegiado para interagir com registos. No Linux ou Windows, adicione o utilizador que usa para executar comandos do Docker ao grupo de segurança do Docker. Este passo não é necessário no macOS, uma vez que o Docker Desktop é executado numa máquina virtual como utilizador root.
Para Linux, adicione o utilizador:
sudo usermod -a -G docker USER
Para Windows:
net localgroup docker-users DOMAIN\USER /add
Substitua
USER
pelo nome de utilizador que quer adicionar.
Configure o Docker para confiar na AC raiz do Harbor
Tem de configurar o cliente Docker local para confiar na AC raiz da sua organização quando usar o cliente Docker para comunicar com a instância do Harbor.
Para configurar o cliente Docker de modo a confiar na AC raiz, peça o ficheiro .crt
da AC raiz ao administrador da sua organização e copie a AC raiz da organização para:
/etc/docker/certs.d/HARBOR_INSTANCE_URL/ca.crt
Substitua HARBOR_INSTANCE_URL
pelo URL da sua instância do Harbor. Por
exemplo, harbor-1.org-1.zone1.google.gdc.test
.
Este comando permite que o cliente Docker estabeleça uma ligação HTTPS com a instância do Harbor.
Em alternativa, use a CLI gdcloud para iniciar sessão em qualquer cluster de utilizadores na organização e copie a AC Web guardada no cluster:
export REGISTRY=HARBOR_INSTANCE_URL
mkdir -p /etc/docker/certs.d/${REGISTRY} && \echo $(kubectl get secret org-web-ca -n istio-system -o
jsonpath='{.data.ca\.crt}') | openssl base64 -A -d >
/etc/docker/certs.d/${REGISTRY}/ca.crt
Substitua HARBOR_INSTANCE_URL
pelo URL da sua instância do Harbor. Por
exemplo, harbor-1.org-1.zone1.google.gdc.test
.
Se a configuração não for bem-sucedida, é apresentada a seguinte mensagem de erro:
Error response from daemon: Get "https://<HARBOR_INSTANCE_URL>": x509: certificate signed by unknown authority
Repita os passos para resolver este problema e encaminhe-o para a equipa de engenharia do GDC, se necessário.