Compartir a través de


Contenedores, imágenes y registros de Docker

Sugerencia

Este contenido es un extracto del libro electrónico, ".NET Microservices Architecture for Containerized .NET Applications" (Arquitectura de microservicios de .NET para aplicaciones de .NET contenedorizadas), disponible en Documentación de .NET o como un PDF descargable y gratuito que se puede leer sin conexión.

Miniatura de la portada del libro electrónico 'Arquitectura de microservicios de .NET para aplicaciones .NET contenedorizadas'.

Cuando se usa Docker, un desarrollador crea una aplicación o servicio y la empaqueta y sus dependencias en una imagen de contenedor. Una imagen es una representación estática de la aplicación o el servicio y de su configuración y las dependencias.

Para ejecutar la aplicación o el servicio, se crea una instancia de la imagen de la aplicación para crear un contenedor, que se ejecutará en el host de Docker. Los contenedores se prueban inicialmente en un entorno de desarrollo o pc.

Los desarrolladores deben almacenar imágenes en un registro, que actúa como una biblioteca de imágenes y es necesaria al implementar en orquestadores de producción. Docker mantiene un registro público a través de Docker Hub; otros proveedores proporcionan registros para diferentes colecciones de imágenes, incluido Azure Container Registry. Como alternativa, las empresas pueden tener un registro privado local para sus propias imágenes de Docker.

En la figura 2-4 se muestra cómo se relacionan las imágenes y los registros en Docker con otros componentes. También muestra las ofertas de servicios de registro de varios proveedores.

Diagrama que muestra la taxonomía básica en Docker.

Figura 2-4. Taxonomía de los términos y conceptos de Docker

el registro es como una estantería donde las imágenes se almacenan y están disponibles para extraerlas con el fin de compilar contenedores que ejecuten servicios o aplicaciones web. Hay registros privados de Docker locales y en la nube pública. Docker Hub es un registro público mantenido por Docker, junto con el Registro de Confianza de Docker, una solución de nivel empresarial, Azure ofrece Azure Container Registry. AWS, Google y otros también tienen registros de contenedor.

Colocar imágenes en un registro le permite almacenar bits de aplicación estáticos e inmutables, incluidas todas sus dependencias en un nivel de marco. Esas imágenes pueden versionarse y implementarse en varios entornos y, por lo tanto, proporcionar una unidad de implementación coherente.

Los registros de imágenes privadas, hospedados en el entorno local o en la nube, se recomiendan cuando:

  • Las imágenes no deben compartirse públicamente debido a la confidencialidad.

  • Quiere tener una latencia de red mínima entre las imágenes y el entorno de implementación elegido. Por ejemplo, si el entorno de producción es la nube de Azure, probablemente quiera almacenar las imágenes en Azure Container Registry para que la latencia de red sea mínima. De forma similar, si el entorno de producción es local, es posible que desee tener un registro de confianza de Docker local disponible en la misma red local.