Avant de pouvoir utiliser le registre de conteneurs DTZ, vous devez d’abord activer le service.
Vous pouvez cliquer sur le lien dans le 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
.
Le moyen le plus simple de se connecter est via 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: {collez ici votre clé API}
Login Succeeded
Cela enregistre vos identifiants dans le démon Docker et vous pouvez maintenant pousser et tirer des images vers ce registre.
Dans Kubernetes, la gestion des identifiants ne peut pas être effectuée en interagissant directement avec le démon Docker. Vous devez donc 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, puisque tous les déploiements passent par un système CI/CD qui nécessite que vous fournissiez le secret au format YAML. Voici donc les étapes à suivre 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