Universo Digital

Qué es la plataforma de contenedores Docker

Qué es la plataforma de contenedores Docker

Qué es la plataforma de contenedores Docker

Docker es la plataforma de contenedores de software líder mundial disponible para desarrolladores, operadores y empresas para construir, exportar y ejecutar cualquier aplicación en cualquier infraestructura. El lanzamiento de Docker en 2013 dio comienzo a una revolución en el desarrollo de aplicaciones al llevar los contenedores de software a las masas. En solo unos pocos años, Docker ha transformado la industria con un nuevo marco, léxico y estándares en el desarrollo de aplicaciones, empaquetado y administración.

Docker es un proyecto de código abierto que ofrece dos ediciones:

A lo largo de los artículos de esta nueva serie «Todo sobre contenedores Docker» nos enfocaremos en Docker CE.

¿Qué es un contenedor?

Una imagen de contenedor es un paquete ligero, independiente, ejecutable de una pieza de software que incluye todo lo necesario para ejecutarlo: código, tiempo de ejecución, herramientas del sistema, bibliotecas del sistema y configuraciones. Disponible para aplicaciones basadas en Linux y Windows, el software en contenedor siempre funcionará igual, independientemente del entorno. Los contenedores aislan el software de su entorno, por ejemplo, las diferencias entre los entornos de desarrollo y etapas, y ayudan a reducir los conflictos entre los equipos que ejecutan software diferente en la misma infraestructura.

Contenedores Docker

Mediante el uso de contenedores, los recursos pueden ser aislados, los servicios restringidos y se otorga a los procesos la capacidad de tener una visión casi completamente privada del sistema operativo con su propio identificador de espacio de proceso, la estructura del sistema de archivos y las interfaces de red. Contenedores múltiples comparten el mismo núcleo. Sin embargo, cada contenedor puede ser restringido a utilizar sólo una cantidad definida de recursos como CPU, memoria y E/S.

Los contenedores Docker se caracterizan principalmente por ser:

Contenedores vs Máquinas Virtuales

Los contenedores y las máquinas virtuales tienen beneficios de asignación y aislamiento de recursos similares, pero funcionan de manera diferente porque los contenedores virtualizan el sistema operativo en lugar del hardware. A su vez son más portátiles y eficientes.

Contenedores

Los contenedores son una abstracción en la capa de aplicaciones que combina código y dependencias. Se pueden ejecutar varios contenedores en la misma máquina y compartir el núcleo del sistema operativo con otros contenedores. Cada uno de los cuales se ejecuta como procesos aislados en el espacio de usuario. Los contenedores ocupan menos espacio que las máquinas virtuales (las imágenes de los contenedores suelen tener decenas de MB) y comienzan casi al instante.

Máquinas Virtuales

Las máquinas virtuales  o VM son una abstracción del hardware físico que convierte un servidor en muchos servidores. El hipervisor permite que múltiples máquinas virtuales se ejecuten en una sola máquina. Cada VM incluye una copia completa de un sistema operativo, una o más aplicaciones, binarios y bibliotecas necesarios ocupando decenas de GB. Las máquinas virtuales también pueden tardar un poco más en arrancar.

De forma general, podemos decir que  los contenedores y VM utilizados en conjunto brindan una gran flexibilidad en la implementación y administración de aplicaciones.

Características de Docker Comunity Edition (CE)

Docker Community Edition (CE) es ideal para desarrolladores y pequeños equipos que buscan comenzar con Docker y experimentar con aplicaciones basadas en contenedores. Proporciona un instalador para una instalación simple y rápida para que puedas comenzar a desarrollar de inmediato. Además, está disponible para muchas plataformas de infraestructura populares como sistemas operativos de escritorio, en la nube y de código abierto. Integrado y optimizado para la infraestructura, puede mantener una experiencia de aplicación nativa mientras se inicia con Docker.

Nota: algunas de las características señaladas con (*), solo están disponibles de forma gratuita o mediante una subscripción con el servicio Docker Cloud.

Finalizando

Docker Community Edition brinda colaboración para desarrolladores y capacidades de automatización de canalización de desarrollo como un servicio en Docker Cloud. Varios servicios adicionales están disponibles sin costo alguno o por suscripción mensual según las necesidades del usuario. Si deseas puedes consultar la documentación oficial de Docker para mayor información sobre el uso, despliegue y gestión de contenedores Docker.