Dentro de Docker: Espacios de nombres y cgroups de Linux

Descubre cómo funcionan los contenedores: Docker, namespaces, cgroups y OverlayFS. Guía de ejecución, red, persistencia y diferencias frente a VMs; ejemplo práctico sin Docker.

17 ago 2025 • 4 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Inside Docker Linux Namespaces y cgroups

Qué es un contenedor Un contenedor es una aplicación en ejecución junto con todo lo que necesita bibliotecas, configuraciones y herramientas empaquetadas en un paquete ligero que puede ejecutarse en cualquier máquina con Docker instalado. No es una máquina virtual completa ya que comparte el kernel del host y mantiene los procesos aislados para ofrecer consistencia y portabilidad.

Conceptos clave Docker se apoya en funciones del kernel de Linux que aíslan procesos y controlan recursos. Namespaces proporcionan a cada contenedor su propia vista aislada del sistema procesos, red y puntos de montaje. Los control groups cgroups limitan y monitorizan uso de CPU memoria y IO. El sistema de ficheros en capas OverlayFS combina capas de imagen de solo lectura con una capa escribible para cambios en el contenedor.

Cómo se ejecuta un contenedor Docker Paso 1 Build o Pull de una imagen puedes crear un Dockerfile y construir la imagen con docker build o descargar una imagen desde Docker Hub. Una imagen es una pila de capas de solo lectura cada capa añade ficheros o configuraciones. Paso 2 Inicio del contenedor al ejecutar docker run myimage Docker crea nuevos namespaces aisla los identificadores de proceso red y sistema de ficheros crea un cgroup para aplicar límites y monta las capas usando OverlayFS. Paso 3 Ejecución del proceso el contenedor ejecuta el comando definido en la imagen CMD o ENTRYPOINT y dentro del contenedor parece un pequeño sistema operativo pero son procesos del host. Paso 4 Red por defecto los contenedores obtienen una interfaz Ethernet virtual que Docker puentea con la red del host mediante docker0 salvo que se configure distinto. Paso 5 Persistencia de datos por defecto los contenedores son efímeros usa volúmenes o bind mounts para conservar datos fuera de la capa escribible. Paso 6 Parada y eliminación detener un contenedor finaliza su proceso eliminarlo borra su capa escribible mientras la imagen original permanece intacta.

Diferencias con una máquina virtual Los contenedores comparten el kernel del host y son ligeros y rápidos de iniciar mientras que una máquina virtual incluye su propio kernel y requiere un hipervisor consumiendo más recursos y tiempo de arranque. Los contenedores están pensados para escalabilidad y despliegue rápido y las VMs para aislamiento completo a nivel de sistema operativo.

Crear un proceso tipo contenedor en Linux sin Docker Este ejercicio demuestra cómo funcionan namespaces y cgroups a bajo nivel. Requisitos sistema Linux con privilegios root o sudo y conocimientos básicos de namespaces cgroups y chroot. Paso 1 Crear un sistema de ficheros raíz mkdir container cd container y descargar una minirootfs ligera por ejemplo wget https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-minirootfs-3.18.4-x86_64.tar.gz y extraer tar -xzf alpine-minirootfs-3.18.4-x86_64.tar.gz -C . Esto crea un entorno Alpine en la carpeta container. Paso 2 Crear un namespace aislado usa unshare --pid --mount --uts --ipc --net --fork chroot /container /bin/sh Esto crea nuevos espacios de PID montaje UTS IPC y red y ejecuta un shell dentro del entorno aislado. Dentro puedes ajustar el hostname hostname container. Paso 3 Añadir límites con cgroups monta cgroup v2 si procede mkdir -p /sys/fs/cgroup mount -t cgroup2 none /sys/fs/cgroup crea un grupo mkdir /sys/fs/cgroup/container y configura límites por ejemplo echo 50000 100000 > /sys/fs/cgroup/container/cpu.max echo 104857600 > /sys/fs/cgroup/container/memory.max añade procesos escribiendo su PID en cgroup.procs. Paso 4 Ejecutar un proceso dentro del cgroup puedes lanzar una tarea intensiva para probar los límites sh -c echo $$ > /sys/fs/cgroup/container/cgroup.procs; exec yes > /dev/null y supervisar cat /sys/fs/cgroup/container/cpu.stat y cat /sys/fs/cgroup/container/memory.current

Ciclo de vida de alto nivel El cliente Docker CLI envía solicitudes a dockerd que delega en containerd. containerd invoca un runtime OCI como runc que llama a unshare para crear namespaces monta el sistema de ficheros raíz con overlayfs y bind mounts configura la red con pares veth y bridge aplica límites de cgroup y finalmente ejecuta el proceso PID1 del contenedor con execve dentro del entorno aislado.

Acerca de Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en software a medida, inteligencia artificial e implementación de soluciones de ciberseguridad. Ofrecemos servicios cloud aws y azure, servicios inteligencia de negocio y consultoría en ia para empresas. Creamos agentes IA personalizados, integraciones con Power BI y soluciones completas de aplicaciones a medida que aceleran la transformación digital. Nuestros equipos combinan experiencia en desarrollo a medida, arquitecturas cloud y seguridad para entregar productos robustos escalables y seguros.

Palabras clave y posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA power bi son conceptos que aplicamos en proyectos reales para mejorar eficiencia y generar ventaja competitiva.

Conclusión y referencias Entender namespaces cgroups y overlayfs ayuda a comprender cómo Docker construye contenedores ligeros y aislados. Este artículo resume esos conceptos y muestra cómo reproducir un proceso aislado manualmente en Linux. Partes de este contenido fueron asistidas por modelos de lenguaje y por nuestro equipo técnico en Q2BSTUDIO que integra inteligencia artificial y ciberseguridad en desarrollos a medida y servicios cloud.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat