Comment se connecter au registre de conteneurs

created: mercredi, févr. 26, 2025

Préparations

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

  1. Activer le service

instructions pour activer le registre de conteneurs

  1. Accéder au tableau de bord du registre de conteneurs

lien vers le tableau de bord du registre

  1. Tableau de bord du registre de conteneurs

tableau de bord du registre de conteneurs

  1. Tester le point de terminaison du registre

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.

site du registre de conteneurs

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.

Connexion Docker

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.

Identifiants Kubernetes

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.

  1. encoder en base64 vos identifiants
echo 'DOCKER_USER:DOCKER_PASSWORD' | base64
RE9DS0VSX1VTRVI6RE9DS0VSX1BBU1NXT1JECg==
  1. placez la chaîne d’identifiants dans un JSON de configuration docker, et enregistrez-le sous credentials.json.
{
    "auths": {
        "66fc19af.cr.dtz.dev": {
            "auth": "RE9DS0VSX1VTRVI6RE9DS0VSX1BBU1NXT1JECg=="
        }
    }
}
  1. encodez tout le fichier en base64
cat credentials.json | base64
ewogICAgImF1dGhzIjogewogICAgICAgICI2NmZjMTlhZi5jci5kdHouZGV2IjogewogICAgICAgICAgICAiYXV0aCI6ICJSRTlEUzBWU1gxVlRSVkk2UkU5RFMwVlNYMUJCVTFOWFQxSkVDZz09IgogICAgICAgIH0KICAgIH0KfQo=
  1. créez un Secret avec le fichier d’identifiants encodé à l’intérieur.
apiVersion: v1
kind: Secret
type: kubernetes.io/dockerconfigjson
metadata:
  name: dtz-credentials
data:
  .dockerconfigjson: ewogICAgImF1dGhzIjogewogICAgICAgICI2NmZjMTlhZi5jci5kdHouZGV2IjogewogICAgICAgICAgICAiYXV0aCI6ICJSRTlEUzBWU1gxVlRSVkk2UkU5RFMwVlNYMUJCVTFOWFQxSkVDZz09IgogICAgICAgIH0KICAgIH0KfQo=
  1. après avoir appliqué ce secret à votre cluster Kubernetes, vous pouvez utiliser des images privées.
apiVersion: v1
kind: Pod
metadata:
  name: private-ubuntu
spec:
  containers:
  - name: private-ubuntu-container
    image: 66fc19af.cr.dtz.dev/ubuntu
  imagePullSecrets:
  - name: dtz-credentials