LinuxParty
Este artículo arroja algo de luz sobre por qué la virtualización tradicional está perdiendo su brillo y Docker es tan popular hoy en día.
La virtualización se refiere al proceso de creación de un entorno virtual para que se utilicen recursos mínimos para un mejor control de los sistemas. La principal infraestructura necesaria para la virtualización incluye hardware, sistemas operativos, dispositivos de almacenamiento y un entorno de red. Para construir un sistema virtual, la tecnología de virtualización emplea el uso de software que imita las capacidades del hardware. Un solo servidor puede ejecutar varios sistemas operativos, muchos sistemas virtuales y numerosas aplicaciones. Mayor eficiencia y mínimos recursos son las principales ventajas de la virtualización.
Figura 1: Docker puede crear, compartir y ejecutar aplicaciones en cualquier lugar
La virtualización del sistema operativo (SO) es el proceso de ejecutar varios sistemas operativos en una sola pieza de hardware utilizando un software de virtualización. Su uso puede ayudar a los desarrolladores y administradores de empresas a ahorrar dinero al no desperdiciar la costosa potencia informática. Como resultado de la abstracción proporcionada por la virtualización, los recursos de hardware pueden compartirse entre diferentes cargas de trabajo. Estas cargas de trabajo generalmente coexisten en una infraestructura virtualizada compartida mientras están completamente aisladas entre sí, lo que permite la movilidad entre infraestructuras cuando sea necesario.
Las principales ventajas de la tecnología de virtualización son:
- Bajo costo con mínima infraestructura física
- Despliegue fácil y rápido
- Tolerancia a fallos y gestión de desastres
- Copia de seguridad y recuperación rápidas
- Utilización de recursos mejorada
- Consolidación de servidores
- Equilibrio de carga dinámico
- Infraestructura virtual
- Mejora de la seguridad y la confiabilidad del sistema
Los casos de uso de la tecnología de virtualización incluyen:
- Gestión de cargas de trabajo sensibles al rendimiento
- Entorno híbrido y multi-hipervisor
- Estaciones de trabajo técnicas
- Almacenes de datos virtuales
- Lagos de datos virtuales
- 5G en el sector de las telecomunicaciones
- Descarga del almacén de datos
- Análisis de datos en tiempo real y equilibrio de carga dinámico
Virtualización tradicional versus virtualización de nueva generación La virtualización
tradicional depende de máquinas virtuales independientes y de la instalación de sistemas operativos en cada una de ellas. El inconveniente aquí es que hay una gran carga en el sistema operativo host y se requieren muchos recursos informáticos e infraestructura. Sin embargo, para la virtualización de nueva generación con Docker, no es necesario crear una máquina virtual independiente para cada sistema operativo. Las imágenes de Docker están disponibles para múltiples sistemas operativos y plataformas de software, que se pueden extraer y usar directamente en él.
Figura 2: virtualización tradicional frente a nueva generación con Docker
La virtualización de nueva generación mediante Docker
DevOps y el desarrollo rápido de aplicaciones (RAD) mediante plataformas de virtualización avanzadas son inmensamente populares en la actualidad. Docker ( https://www.docker.com/ ), una plataforma de alto rendimiento utilizada para la creación de contenedores y el desarrollo rápido de aplicaciones, permite que las aplicaciones se desarrollen rápidamente, se compartan y se implementen en cualquier lugar.
Trabajar con Docker en diferentes plataformas
Docker es una aplicación multiplataforma y de código abierto que se puede implementar en múltiples sistemas operativos sin problemas de compatibilidad y rendimiento. Sus variantes están disponibles para Windows, Mac, Linux y plataformas en la nube.
Figura 3: Ver la versión de Docker e información relacionada
Docker tiene una sólida base de desarrolladores y aplicaciones desarrolladas. Más de 13 millones de desarrolladores, 13 mil millones de descargas de imágenes mensuales y 7 millones de aplicaciones están asociadas a la plataforma Docker. Los usuarios corporativos destacados de Docker incluyen Adobe, Anaplan, Blue Apron, PayPal, Segment, Stripe, Verizon, Yale, University of Calgary, Splunk, PathFactory, Paloalto, Netflix, AT&T y Lucent Health.
Implementación de Docker
Docker viene en varias formas.
- Docker para Windows: disponible para Windows 10 o superior, ya que se retiró la compatibilidad con Windows 7 y Windows 8
- Docker para Mac OS
- Docker para Linux: instalación en Linux kernel versión 3.8 o superior
- Docker Engine: para construir imágenes y crear contenedores
- Docker Hub: repositorio público y registro para alojar imágenes
- Docker Compose: Uso de múltiples contenedores Docker
Después de la instalación de Docker, la versión se puede verificar usando las siguientes instrucciones:
$ docker version |
La información detallada sobre el sabor de Docker instalado se puede mostrar usando el siguiente código:
$ docker version |
La información detallada sobre el sabor de Docker instalado se puede mostrar usando el siguiente código:
$ docker info |
Docker es una plataforma poderosa que permite usar múltiples sistemas operativos sin crear máquinas virtuales separadas en el software de virtualización. Para trabajar en el sistema operativo Ubuntu en Windows con Docker, use las siguientes instrucciones para descargar la imagen de Ubuntu:
Figura 4: Imágenes populares de Docker en el repositorio público de Docker Hub
Docker Hub
Docker Hub es un servicio de registro y repositorio público basado en la nube. Numerosas imágenes de una variedad de plataformas y conjuntos de software están disponibles en él, que se pueden extraer y usar en la instalación de Docker. Se puede acceder desde https://hub.docker.com/.
Los millones de imágenes disponibles en Docker Hub se pueden descargar e integrar para aplicaciones del mundo real. Estas imágenes se implementan en diferentes categorías relacionadas con el sistema operativo, la arquitectura del sistema y la tecnología.
Para usar una imagen de CentOS desde Docker Hub y ejecutarla en Ubuntu, escriba:
$ docker run -it centos /bin/bash |
Docker en la nube
Docker no solo está disponible para infraestructura dedicada, sino que también se puede implementar en entornos de nube. Varias plataformas en la nube proporcionan alojamiento Docker para aplicaciones del mundo real y de alto rendimiento.
Hay muchas plataformas en las que se pueden implementar contenedores Docker.
Algunos de estos son:
- nube amazónica
- Nube de Google
- Nube inteligente
- microsoft azure
- Camatera
- AnfitriónPresto
- Red Hat OpenShift
- vultr
Figura 5: Búsqueda de imágenes de Docker en Docker Hub
Alcance para la investigación y el desarrollo
Aunque Docker es muy popular para una variedad de casos de uso en aplicaciones de nivel empresarial, existe un gran alcance para la investigación en este dominio. Los investigadores, profesionales y académicos pueden trabajar en una serie de problemas relacionados con la virtualización de nueva generación, entre ellos:
- Aspectos de migración y seguridad de los contenedores Docker
- Privacidad e integridad de los contenedores Docker en la nube
- Algoritmos de ubicación y migración de máquinas virtuales (VM)
- Optimización de recursos en tecnología de virtualización de nueva generación
- Gestión de microservicios en entornos de virtualización y cloud
-
Docker
- Cómo administrar contenedores usando Podman y Skopeo en RHEL 8
- DistroBox: ejecute cualquier distribución de Linux dentro de la terminal de Linux
- Docker: la plataforma para la virtualización de nueva generación
- Cómo monitorear contenedores Docker con la herramienta de monitoreo Zabbix
- Instalar Docker en Windows 10 y 11
- Linux y Kubernetes: Al servicio de los objetivos comunes de las empresas
- Mirantis adquiere Docker Enterprise
- Configurar Jenkins en Docker
- Cómo configurar un servidor web Apache simple en un contenedor Docker
- Chuleta de Docker para Administradores de Sistemas
- Cómo conectar los contenedores Docker y mostrarlos en la red
- Cómo gestionar contenedores Docker
- Cómo buscar imágenes docker y lanzar un contenedor
- Mantener los datos fijos en Docker de forma persistente adjuntando un volumen
- Docker, virtualiza aplicaciones con contenedores