Comment se connecter au registre de conteneurs

created: mercredi, févr. 26, 2025

Préparatifs

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 du tableau de bord du registre de conteneurs

  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 du 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

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.

Identifiants Kubernetes

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.

  1. encoder vos identifiants en base64
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. encoder l’ensemble du fichier en base64
cat credentials.json | base64
ewogICAgImF1dGhzIjogewogICAgICAgICI2NmZjMTlhZi5jci5kdHouZGV2IjogewogICAgICAgICAgICAiYXV0aCI6ICJSRTlEUzBWU1gxVlRSVkk2UkU5RFMwVlNYMUJCVTFOWFQxSkVDZz09IgogICAgICAgIH0KICAgIH0KfQo=
  1. créez un Secret contenant le fichier d’identifiants encodé.
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