Antes de poder usar el registro de contenedores de DTZ, primero debes habilitar el servicio.



Puedes hacer clic en el enlace del panel para probar tu instancia del registro. Este enlace debería llevarte a la siguiente página.

Después de completar la configuración, debes obtener la URL de tu instancia desde el panel del registro de contenedores, en este caso, https://66fc19af.cr.dtz.dev/.
Por lo tanto, todas las imágenes se alojan bajo 66fc19af.cr.dtz.dev.
La forma más fácil de iniciar sesión es mediante una clave API. Puedes seguir la guía en nuestra documentación sobre cómo crear una clave API.
Para realizar el inicio de sesión puedes usar la terminal:
docker login 66fc19af.cr.dtz.dev
Username: apikey
Password: {past in you API-key here}
Login Succeeded
Esto registra tus credenciales en el daemon de Docker y ahora puedes enviar (push) y descargar (pull) imágenes a ese registro.
En Kubernetes, la gestión de credenciales no puede hacerse interactuando directamente con el daemon de Docker. Por ello necesitas proporcionar las credenciales a través de las definiciones de despliegue como Secret.
Si tienes acceso a kubectl, puedes seguir las instrucciones de la documentación oficial.
kubectl create secret docker-registry <name> \
--docker-server=DOCKER_REGISTRY_SERVER \
--docker-username=DOCKER_USER \
--docker-password=DOCKER_PASSWORD \
--docker-email=DOCKER_EMAIL
A menudo, el acceso a kubectl no es una opción, ya que todos los despliegues se realizan a través de algún sistema CI/CD que requiere que proporciones el Secret como YAML. Así que aquí están los pasos para crear manualmente dicho 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