Comprender los contenedores

Completado

Al implementar un servicio de software, debe hospedarse en un entorno que proporciona el hardware, el sistema operativo y los componentes de runtime de los que depende el servicio.

Servicios de Azure AI se proporciona como un servicio en la nube, en el que el software del servicio se hospeda en un centro de datos de Azure que proporciona los servicios en tiempo de ejecución, el sistema operativo y el hardware subyacentes. Sin embargo, también puede implementar algunos servicios de Azure AI en un contenedor, que encapsula los componentes de runtime necesarios y que, a su vez, se implementa en un host de contenedor que proporciona el sistema operativo y el hardware subyacentes.

Diagram of a container host with 4 containers

¿Qué es un contenedor?

Un contenedor consta de una aplicación o servicio y los componentes de runtime necesarios para ejecutarlo, a la vez que abstrae el sistema operativo y el hardware subyacentes. En la práctica, esta abstracción da como resultado dos ventajas significativas:

  • Los contenedores son portables entre hosts, que pueden ejecutar sistemas operativos diferentes o usar hardware diferente, lo que facilita el traslado de una aplicación y todas sus dependencias.
  • Un único host de contenedor puede admitir varios contenedores aislados, cada uno con su propia configuración específica de runtime, lo que facilita la consolidación de varias aplicaciones que tienen requisitos de configuración diferentes.

Un contenedor se encapsula en una imagen de contenedor que define el software y la configuración que debe admitir. Las imágenes se pueden almacenar en un registro central, como Docker Hub, o bien puede mantener un conjunto de imágenes en su propio registro.

Implementación de contenedores

Para usar un contenedor, normalmente se extrae la imagen de contenedor de un registro y se implementa en un host de contenedor, especificando los valores de configuración necesarios. El host de contenedor puede estar en la nube, en una red privada o en el equipo local. Por ejemplo:

  • Un servidor de Docker*.
  • Una instancia de Azure Container (ACI).
  • Un clúster de Azure Kubernetes Service (AKS).

*Docker es una solución de código abierto para el desarrollo y la administración de contenedores que incluye un motor de servidor que puede usar para hospedar contenedores. Hay versiones del servidor de Docker para sistemas operativos comunes, incluidos Microsoft Windows y Linux.

Sugerencia

Para más información sobre los contenedores, consulte el módulo Introducción a los contenedores de Docker en Microsoft Learn.