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

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:

  • Ligeros. Al ejecutarse en una sola máquina, comparten el kernel del sistema operativo de la máquina en cuestión. Por ello, se inician instantáneamente y usan menos recursos de cómputo y RAM. Las imágenes se construyen a partir de capas del sistema de archivos y comparten archivos comunes. Esto minimiza el uso del disco y las descargas de imágenes son mucho más rápidas.
  • Estándar. Los contenedores Docker se basan en estándares abiertos y se ejecutan en las principales distribuciones de Linux, Microsoft Windows y en cualquier infraestructura, incluidas las máquinas virtuales (en inglés Virtual Machine, VM) bare-metal y la nube.
  • Seguros. Los contenedores Dockers aislan aplicaciones entre sí y de la infraestructura subyacente. Además proporcionan el aislamiento predeterminado para limitar los problemas de la aplicación a un único contenedor en lugar de la máquina completa.

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.

  • Última versión de Docker con herramientas integradas para construir, probar y ejecutar aplicaciones de contenedores.
  • Disponible de forma gratuita con mantenimiento de software para la última versión liberada.
  • Integrado y optimizado para escritorios de desarrolladores, servidores Linux y nubes.
  • Disponibles actualizaciones mensuales Edge y trimestrales para el canal estable.
  • Experiencia de proveedor nativo de escritorio o en la nube para una fácil incorporación.
  • Respaldo público ilimitado y un servicio de almacenamiento privado gratuito como servicio. (*)
  • Compilaciones automatizadas como servicio. (*)
  • Escaneo de imágenes y monitoreo continuo de vulnerabilidades como servicio. (*)

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.

1 comentario
  1. jmortega
    jmortega Dice:

    DOCKER. Seguridad y monitorización en contenedores e imágenes

    https://rclibros.es/producto/docker-seguridad-y-monitorizacion-en-contenedores-e-imagenes/

    Este libro tiene como objetivo facilitar al lector los conocimientos necesarios para entender cómo gestiona Docker la seguridad tanto desde el punto de vista de la máquina donde lo ejecutamos, como desde el desarrollo y despliegue de imágenes.

    Docker ofrece una serie de herramientas que permiten al usuario analizar cada una de las capas de las imágenes y contenedores en búsqueda de librerías desactualizadas, y vulnerabilidades y exposiciones comunes que podemos encontrar en la base de datos (CVE).

    Además, el cambio hacia un nuevo modelo de DevOps nos permitirá ver cómo estos procesos necesitan integrarse de manera eficiente, en un ciclo de desarrollo e implementación continua para aprovechar al máximo los beneficios de los contenedores manteniendo al mismo tiempo la seguridad.

    En el libro se proponen un conjunto de buenas prácticas para el desarrollador que minimicen en la medida de lo posible la exposición de nuestra aplicación ante posibles ataques. Casi todos los aspectos de las herramientas relacionadas con contenedores descritos en el texto están respaldados con ejemplos reales de cómo funcionan a nivel práctico. Así, el libro le ayudará a entender cómo sacar provecho de la agilidad, control y portabilidad que proporciona Docker, desde un enfoque teórico-práctico.

    Responder

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *