Avant de pouvoir utiliser le registre de conteneurs DTZ, vous devez d’abord activer le service.



Vous pouvez cliquer sur le lien du tableau de bord pour tester votre instance de registre. Ce lien devrait vous mener à la page suivante.

Après avoir terminé la configuration, vous devez récupérer l’URL de votre instance depuis le tableau de bord du registre de conteneurs, dans ce cas, https://66fc19af.cr.dtz.dev/.
Ainsi, toutes les images sont hébergées sous 66fc19af.cr.dtz.dev.
La façon la plus simple de se connecter est d’utiliser une clé API. Vous pouvez suivre le guide dans notre documentation sur comment créer une clé API.
Pour effectuer la connexion, vous pouvez utiliser le terminal :
docker login 66fc19af.cr.dtz.dev
Username: apikey
Password: {past in you API-key here}
Login Succeeded
Cela enregistre vos identifiants dans le démon Docker et vous pouvez maintenant pousser et récupérer des images vers/depuis ce registre.
Dans Kubernetes, la gestion des identifiants ne peut pas se faire en interagissant directement avec le démon Docker. Par conséquent, vous devez fournir les identifiants via les définitions de déploiement sous forme de secret.
Si vous avez accès à kubectl, vous pouvez suivre les instructions de la documentation officielle.
kubectl create secret docker-registry <name> \
--docker-server=DOCKER_REGISTRY_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD \
--docker-email=DOCKER_EMAIL
Souvent, l’accès kubectl n’est pas une option, car tous les déploiements passent par un système CI/CD qui nécessite que vous fournissiez le secret en YAML. Voici donc les étapes pour créer manuellement un tel secret.
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