LinuxParty
La nube es cada vez más grande, más potente, cuenta con más usuarios que hacen uso de ella al mismo tiempo y, además, permite la ejecución de aplicaciones cada vez más potentes, por lo que, para garantizar el correcto funcionamiento de esta, tanto en el presente como en el futuro, es necesario utilizar una plataforma que optimice los recursos lo mejor posible y, al mismo tiempo, sea lo más escalable posible con el fin de poder ampliar sus características de forma sencilla cuando sea necesario.
La nube es sinónimo de virtualización. Ejecutar un sistema operativo virtual por cada instancia de una aplicación es un proceso muy pesado y poco optimizado, a la vez que lento. Por ello, la comunidad Linux ha trabajado en el concepto de contenedores, una nueva forma de optimizar recursos creando pequeños espacios virtuales de las aplicaciones necesarias cargando solo el núcleo de la aplicación y las dependencias, pero funcionando siempre sobre un único kernel, o sistema operativo.
Docker es uno de los proyectos más conocidos y utilizados en temas de virtualización. Lejos de ser un sistema operativo como tal, esta plataforma de código abierto hace uso de las funciones de aislamiento de recursos del kernel de Linux para poder dar lugar a contenedores independientes, dentro de los cuales se ejecutará una única aplicación con sus respectivas dependencias, pero funcionando siempre con un único kernel, el de la máquina real, en lugar de virtualizar uno por cada contenedor o máquina virtual.
En resumen, mientras cada aplicación en máquinas virtuales necesita contar con un sistema operativo completo virtualizado (ocupando, por ejemplo, 1 GB de memoria RAM), Docker aprovecha el kernel de la máquina real y, con su motor, tan solo carga en la memoria las librerías y dependencias necesarias para ejecutar la aplicación, despreciando todo lo demás y ocupando alrededor del un 80% menos, por ejemplo, 200 MB de RAM.
Virtualizar con Docker nos ofrece una serie de ventajas respecto a hacerlo con máquinas virtuales convencionales:
- Portabilidad. Todos los contenedores son portables, por lo que podemos llevarlos fácilmente a cualquier otro equipo con Docker sin tener que volver a configurar nada.
- Ligereza. Al no virtualizar un sistema completo, sino solo lo necesario, el consumo de recursos es mínimo. El ahorro de recursos es de alrededor de un 80%.
- Autosuficiencia. Docker se encarga de todo, por lo que los contenedores tan solo deben tener lo necesario para que la aplicación funcione, por ejemplo, aquellas librerías, archivos y configuraciones necesarias para poder realizar su función.
Un sistema de contenedores Docker se compone principalmente de 5 elementos:
- Demonio: Es el proceso principal de la plataforma.
- Cliente: Es el binario que constituye la interfaz y que permite al usuario interactuar con el Demonio.
- Imagen: Plantilla utilizada para crear el contenedor para la aplicación que queremos ejecutar.
- Registros: Directorios donde se almacenan las imágenes, tanto de acceso público como privado.
- Contenedores: Carpetas donde se almacena todo lo necesario (librerías, dependencias, binarios, etc) para que la aplicación pueda ejecutarse de forma aislada.
Docker también cuenta con una serie de repositorios, similares a los de Linux, donde los usuarios publican sus propios contenedores de manera que los usuarios que los necesiten los puedan bajar rápidamente desde allí.
Spotify, eBay y Rackspace, entre otras muchas empresas, utilizan este sistema de contenedores en sus centros de datos. Además, esta plataforma cuenta con el apoyo de otras grandes compañías de Internet como Amazon y Google, lo que le permite seguir creciendo y mejorando constantemente.
Más adelante veremos cómo instalar y cómo funcionan estos contenedores de virtualización, sin embargo, si queréis descargar tanto la plataforma como el código fuente de la misma podéis hacerlo de forma totalmente gratuita desde su página web principal.
¿Alguna vez has virtualizado aplicaciones con Docker?

-
Fedora
- Cómo instalar un intercambiador de entornos de escritorio en Fedora
- Instalar Steam Valve en Fedora
- Fedora KDE es un brillante sistema operativo de escritorio listo para cualquier tipo de usuario.
- Se lanzó Fedora Linux 41 con Linux Kernel 6.11, DNF5, GNOME 47 y más
- Fedora 39 beta ofrece la distribución de Linux con mejor rendimiento que he visto en mucho tiempo
- Fedora lanzó la computadora portátil Fedora Slimbook Linux con pantalla 3K, NVIDIA RTX 3050 Ti
- Fedora 38 Linux nueva versión de esta gran distro, disponible
- AWS de Amazon lanza 'Amazon Linux 2023' basado en Fedora y optimizado para la nube
- Instalar Nginx con PHP5 (y PHP-FPM) y Soporte MySQL en Fedora Linux
- Instalar Nginx con PHP5 (PHP-FPM) y MySQL en Fedora 17
- 20 comandos YUM para la gestión de paquetes
- Servidor Samba eb Fedora 13 con dbsam Backend
- La distro, Fedora Linux, declarada "Bien público digital"
- 26 Comandos de DNF para gestión de paquetes (rpm) en Fedora Linux
- ¿Por qué Fedora 34 es la distro de Fedora más popular en años?