Prima di poter utilizzare il registro dei container DTZ, devi prima abilitare il servizio.



Puoi cliccare sul link nella dashboard per testare la tua istanza del registro. Questo link dovrebbe portarti alla seguente pagina.

Dopo aver completato la configurazione, devi recuperare l’URL della tua istanza dalla dashboard del registro dei container, in questo caso, https://66fc19af.cr.dtz.dev/.
Quindi tutte le immagini sono ospitate sotto 66fc19af.cr.dtz.dev.
Il modo più semplice per effettuare il login è tramite una API-key. Puoi seguire la guida nella nostra documentazione su come creare una API-key.
Per eseguire il login puoi usare il terminale:
docker login 66fc19af.cr.dtz.dev
Username: apikey
Password: {past in you API-key here}
Login Succeeded
Questo registra le tue credenziali nel demone Docker e ora puoi inviare (push) e scaricare (pull) immagini da quel registro.
In Kubernetes, la gestione delle credenziali non può essere effettuata interagendo direttamente con il demone Docker. Pertanto devi fornire le credenziali tramite le definizioni di deployment come secret.
Se hai accesso a kubectl, puoi seguire le istruzioni della documentazione ufficiale.
kubectl create secret docker-registry <name> \
--docker-server=DOCKER_REGISTRY_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD \
--docker-email=DOCKER_EMAIL
Spesso, l’accesso a kubectl non è un’opzione, poiché tutti i deployment vengono eseguiti tramite un sistema CI/CD che richiede di fornire il secret come YAML. Ecco quindi i passaggi da seguire per creare manualmente un secret del genere.
echo 'DOCKER_USER:DOCKER_PASSWORD' | base64
RE9DS0VSX1VTRVI6RE9DS0VSX1BBU1NXT1JECg==
credentials.json.{
"auths": {
"66fc19af.cr.dtz.dev": {
"auth": "RE9DS0VSX1VTRVI6RE9DS0VSX1BBU1NXT1JECg=="
}
}
}
cat credentials.json | base64
ewogICAgImF1dGhzIjogewogICAgICAgICI2NmZjMTlhZi5jci5kdHouZGV2IjogewogICAgICAgICAgICAiYXV0aCI6ICJSRTlEUzBWU1gxVlRSVkk2UkU5RFMwVlNYMUJCVTFOWFQxSkVDZz09IgogICAgICAgIH0KICAgIH0KfQo=
apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
metadata:
name: dtz-credentials
data:
.dockerconfigjson: ewogICAgImF1dGhzIjogewogICAgICAgICI2NmZjMTlhZi5jci5kdHouZGV2IjogewogICAgICAgICAgICAiYXV0aCI6ICJSRTlEUzBWU1gxVlRSVkk2UkU5RFMwVlNYMUJCVTFOWFQxSkVDZz09IgogICAgICAgIH0KICAgIH0KfQo=
apiVersion: v1
kind: Pod
metadata:
name: private-ubuntu
spec:
containers:
- name: private-ubuntu-container
image: 66fc19af.cr.dtz.dev/ubuntu
imagePullSecrets:
- name: dtz-credentials