Límites de memoria en Docker

Autor: | Última modificación: 4 de mayo de 2022 | Tiempo de Lectura: 2 minutos
Temas en este post:

De manera predeterminada, no existen límites de memoria en Docker, sin embargo, el usuario tiene la posibilidad de establecer sus propios límites a un contenedor específico en el sistema.

Esta opción resulta de gran importancia si se quieren evitar excepciones de Out Of Memory (OMM), es decir, que el sistema agote la capacidad de memoria a nivel de host, lo que es provocado por el kernel de sistemas operativos como Linux.

Una vez que el sistema ha detectado que un contenedor determinado ha alcanzado y superado el límite de memoria establecido por el usuario, se encargará de «matarlo» utilizando los comandos destinados a cumplir estas funciones.

Consideraciones de los límites de memoria en Docker

Para establecer límites de memoria en Docker, el usuario debe tener en cuenta una serie de consideraciones, como, por ejemplo, que es necesario realizar exámenes o test previos que permitan conocer cuánta memoria requiere la aplicación con la que se quiere trabajar. Una vez el cliente sepa la cantidad de memoria requerida, puede establecer límites para que no sean sobrepasados y que tampoco haga falta capacidad de almacenamiento que impida o dificulte el funcionamiento de la aplicación.

Siguiendo con esta línea, otra recomendación a tener en cuenta para establecer límites de memoria en Docker es la de asegurarse de que el contenedor se ejecuta en un host que tenga los recursos suficientes, debido a que, en caso de que esto no suceda, el container en Docker no podrá realizar sus labores de manera normal.

Otro elemento a considerar es que, si los límites de memoria se aplican en entornos operativos como Linux, cuando el kernel o corazón del sistema detecte que ya no existen los suficientes recursos, empezará la labor de matar los diferentes procesos que se estén llevando a cabo en el sistema. Esto se realiza con el objetivo de liberar la memoria y evitar el colapso completo del sistema. Esta función se realiza a través de la herramienta OOM Killer.

Aunque este mecanismo es muy útil si se quiere evitar que el sistema tenga fallos, consecuencia de la falta de memoria, también puede convertirse en un inconveniente importante en las situaciones donde hay aplicaciones siendo ejecutadas en estado crítico, al tiempo que el Out Of Memory Killer puede matarlas en cualquier momento.

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

De manera que es de vital importancia que el usuario de Docker siempre limite los recursos de la memoria y tenga, además, la capacidad para calcular las necesidades de memoria para los diferentes entornos productivos. Esto no solo evitará que un sistema se quede sin memoria, sino que también ayudará a que su proceso no se vea aniquilado de forma repentina como consecuencia de la respuesta de los límites de memoria en Docker.

¿Cuál es el siguiente paso?

En este artículo has podido profundizar acerca de qué son los límites de memoria en Docker, así como unas consideraciones a tener en cuenta en el momento de implementar esta herramienta en la plataforma de contenedores. Ahora, no dudes en dar otro paso más y sigue aprendiendo sobre esta y otras herramientas de Docker a través de nuestro DevOps & Cloud Computing Full Stack Bootcamp. Gracias a este bootcamp de KeepCoding, en tan solo 6 meses serás capaz de dominar todo lo necesario para convertirte en un experto en el sector. ¡Inscríbete y continúa tu proceso formativo!

[email protected]