Devido ao trabalho, preciso auto-hospedar um cache de proxy docker local usandoPorto. Então fui ao documento deles e instalei o servidor e configurei-o corretamente, acessando-o via FQDN e usando um certificado autoassinado. Consigo usar docker login
de clientes externos e docker pull
sem problemas.
Minha ideia é servir esse servidor Harbour para ocontêinerserviço em execução dentro de um cluster k3s que tenho. Do plano de controle do cluster (nome do host: control01), posso extrair imagens:
/usr/local/bin/ctr -a /run/k3s/containerd/containerd.sock image pull
harbor.virtalus.com/dockerhubproxy/library/ubuntu:20.04
harbor.virtalus.com/dockerhubproxy/library/ubuntu:20.04: resolved |++++++++++++++++++++++++++++++++++++++|
index-sha256:4e9ed8dc49c4c21888f4053e59d7ef0959f57e77d0fbe47ba0063fddd6b70f2c: done |++++++++++++++++++++++++++++++++++++++|
manifest-sha256:7b3e30a1f373b0621681f13b92feb928129c1c38977481ee788a793fcae64fb9: exists |++++++++++++++++++++++++++++++++++++++|
layer-sha256:8e5c1b329fe39c318c0d49821b339fb94a215c5dc0a2898c8030b5a4d091bcba: exists |++++++++++++++++++++++++++++++++++++++|
config-sha256:1a437e363abfa47bfe4b3f5906b7444d12346102d944ebddd537e47a62fc6f52: exists |++++++++++++++++++++++++++++++++++++++|
elapsed: 10.3s total: 1.4 Ki (137.0 B/s)
unpacking linux/amd64 sha256:4e9ed8dc49c4c21888f4053e59d7ef0959f57e77d0fbe47ba0063fddd6b70f2c...
Então eu configuro da /etc/rancher/k3s/registries.yaml
seguinte formadocumento oficial de Rancher:
cat << EOF > /etc/rancher/k3s/registries.yaml
mirrors:
"*":
endpoint:
- "https://harbor.virtalus.com"
configs:
"https://harbor.virtalus.com":
auth:
username: admin
password: Harbor12345
tls:
cert_file: /root/harbor.virtalus.com.cert
key_file: /root/harbor.virtalus.com.key
ca_file: /root/ca.crt
insecure_skip_verify: true
EOF
Eu tentei com e sem a config
seção, mas ela continua me dizendo:
pulling from host harbor.virtalus.com failed with status code [manifests 1.8.6]: 401 Unauthorized
Passei as últimas 4 horas nisso, li alguns tópicos de problemas do github, o documento oficial e vários guias de solução de problemas, mas ainda não sei o que estou fazendo de errado.
Responder1
As configs
entradas contêm as seções auth
e tls
mas parece que a tls
seção não é levada em consideração devido a uma entrada de registro redundante e mal colocada
cat << EOF > /etc/rancher/k3s/registries.yaml
mirrors:
"*":
endpoint:
- "https://harbor.virtalus.com"
configs:
"https://harbor.virtalus.com":
auth:
username: admin
password: Harbor12345
"https://harbor.virtalus.com":
tls:
cert_file: /root/harbor.virtalus.com.cert
key_file: /root/harbor.virtalus.com.key
ca_file: /root/ca.crt
insecure_skip_verify: true
EOF
Sinta-se à vontade para removê-lo e me avise se isso resolver o problema
Além disso, como observação, você pode querer usar o --debug
sinalizador de docker
para obter mais detalhes sobre o erro encontrado