Trabajar con el hub de Docker es fantástico, puedes publicar todas tus imágenes, descargar miles más, encontrar muchísimas ideas para nuevos proyectos o para agregar funcionalidad a los que ya tengas.
Sin embargo, comenzar a trabajar en proyectos productivos nos trae a la cabeza una pregunta sumamente importante.
¿Y si mi proyecto solo debe ser compartido con unos pocos y no quiero que todo el mundo tenga acceso a él?
Bueno, para eso existen los registros de contenedores privados. ¡Es hora de hablar de ellos!
Hablemos de los tres más grandes proveedores de servicios en la nube, AWS de Amazon, Azure de Microsoft y Google Cloud de bueno, Google. Cualquiera de todos estos proveedores cuentan con su propio registro de contenedores y están ahí justamente para los entornos productivos que quieras desplegar.
En AWS se llama ECR, Elastic Container Registry.
En Google Cloud se llama Google Cloud Registry.
Y finalmente en Azure se llama Azure Container Registry.
La verdad es que no importa el registro de contenedores que decidas utilizar. La única diferencia entre trabajar con un contenedor privado o con Docker Hub es que vas a requerir crear una identidad para poder acceder a ellos.
Si quieres publicar una imagen en Docker Hub utilizarás el siguiente comando.
docker push aminespinoza/treebox:latest
Si quieres publicar una imagen en Azure Container Registry lo primero que requieres es acceder a este contenedor de registros con el siguiente comando.
docker login myregistry.azurecr.io
Igualmente puedes ingresar por medio de la línea de comandos de Azure.
az acr login –nameplatzi
¿Muy parecido a cuando lo hicimos con Docker Hub cierto? Lo que sigue es utilizar el comando push.
docker push amines.azurecr.io/linktree
Como verás la diferencia es mínima, solo se trata de apuntar al registro de contenedores gracias a tu autenticación. Lo que sigue es después verificar que tu imagen esté ya en tu registro privado de contenedores.
Fácil y muy útil para entornos productivos o empresariales ¿Cómo ves?
¿Ya desplegaste tu imagen en algún contenedor privado? Solo implica un paso adicional para ingresar a cualquier registro sin ningún problema. Te cuento que utilicé mi cuenta de Azure por ser la que tengo a la mano, sin embargo el proceso será con la diferencia de algunos comandos el mismo.
Es fantástico sentir que la misma herramienta que estás utilizando para registros públicos y registros privados sea la misma ¿cierto? Lo que ahora importa y mucho es que consideres que NO todos los registros deben ser públicos y NO todos los registros deben ser privados.
Evaluar cuál es la mejor opción dependerá de cada proyecto.
Puedes continuar aprendiendo sobre registros de Docker en el Curso de Docker: Fundamentos