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



Puede hacer clic en el enlace del panel para probar su instancia del registro. Este enlace debería llevarlo a la siguiente página.

Después de completar la configuración, necesita obtener la URL de su instancia desde el panel del registro de contenedores, en este caso, https://66fc19af.cr.dtz.dev/.
Así que todas las imágenes están alojadas bajo 66fc19af.cr.dtz.dev.
La forma más fácil de iniciar sesión es mediante una clave API. Puede seguir la guía en nuestra documentación sobre cómo crear una clave API.
Para realizar el inicio de sesión puede usar la terminal:
docker login 66fc19af.cr.dtz.dev
Username: apikey
Password: {pegue aquí su clave API}
Login Succeeded
Esto registra sus credenciales en el demonio de docker y ahora puede subir y descargar imágenes de ese registro.
En Kubernetes, la gestión de credenciales no puede manejarse interactuando directamente con el demonio de docker. Por lo tanto, debe proporcionar credenciales mediante las definiciones de despliegue como secret.
Si tiene acceso a kubectl, puede seguir la instrucción de la documentación oficial.
kubectl create secret docker-registry <nombre> \
--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 ejecutan a través de algún sistema CI/CD que necesita que proporcione el secreto como YAML. Así que aquí están los pasos para crear manualmente dicho secreto.
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