Contenedor con runtime OCI

Descubre Docker, contenedores y el runtime OCI: qué es un contenedor, cómo funciona runc y los pasos para implementar un runtime OCI con buenas prácticas y recursos.

19 ago 2025 • 4 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Introducción: Docker surgió en 2010 a partir de dotCloud que luego pasó a llamarse Docker Inc y rápidamente se convirtió en el estándar para la contenerización, acercando la tecnología de contenedores a desarrolladores y equipos multifuncionales para crear entornos de desarrollo consistentes y reproducibles.

Qué es un contenedor: un contenedor es un paquete de software ligero y autónomo que incluye la aplicación y todas sus dependencias incluyendo código, runtime, herramientas del sistema, librerías y configuraciones. Una imagen de Docker es la plantilla que genera instancias; cuando una imagen se ejecuta mediante un comando como docker run se crea una instancia que se denomina contenedor y que proporciona un entorno aislado y coherente para ejecutar procesos.

Runtime de contenedores: el runtime es el componente de bajo nivel que ejecuta y gestiona contenedores en el sistema operativo anfitrión y actúa como interfaz entre el contenedor y los recursos del sistema. Inicialmente Docker usó las funciones del kernel de Linux mediante LXC, pero luego implementó libcontainer para gestionar namespaces, cgroups, capacidades y controles de sistema de ficheros desde Go. Los runtimes modernos como containerd delegan la creación final del contenedor a herramientas de bajo nivel como runc.

Qué es runc: runc es una herramienta de linea de comandos que crea y ejecuta contenedores en Linux conforme a la especificacion OCI Runtime. Cuando se invoca docker run, el flujo de capas superior termina llamando a un runtime estandarizado como runc para materializar el contenedor siguiendo la especificacion OCI.

Especificacion OCI Runtime: la iniciativa Open Container Initiative define un formato estandarizado para ejecutar aplicaciones contenerizadas. El elemento central es el bundle de sistema de ficheros que incluye dos componentes principales:

• rootfs: directorio que contiene el sistema de ficheros raiz del contenedor.

• config.json: fichero en formato JSON que describe la configuracion del proceso del contenedor incluyendo argumentos, variables de entorno, usuario, namespaces y configuraciones Linux como cgroups.

config.json explicado de forma resumida: en lugar de mostrar un ejemplo literal, describimos su contenido habitual. El fichero especifica la version OCI, la seccion process con argumentos y usuario, la seccion root con la ruta a rootfs y si es de solo lectura, el hostname, puntos de montaje y la seccion linux que define namespaces y la ruta de cgroups. Un runtime OCI usa esa informacion para construir el entorno aislado.

Pasos basicos para implementar un runtime OCI:

• Parsear config.json para obtener la configuracion del contenedor.

• Crear namespaces: invocar llamadas al sistema como unshare o clone para generar namespaces de PID, mount, UTS, network, IPC segun la configuracion, de modo que los procesos queden aislados del sistema anfitrion.

• Configurar cgroups: interactuar con el sistema de ficheros de cgroup en /sys/fs/cgroup para crear y poner limites de recursos para CPU, memoria y IO.

• Cambiar el sistema de ficheros raiz: usar pivot_root o chroot para situar el proceso dentro de la ruta rootfs indicada y establecer el directorio de trabajo apropiado.

• Ejecutar el proceso: invocar execve para reemplazar el proceso del runtime por el proceso principal del contenedor que pasara a ser PID 1 dentro de su namespace.

Ejemplo de implementacion y consideraciones practicas: es habitual implementar un runtime simple usando lenguajes como Go o Rust y llamar a las llamadas de sistema necesarias. Por ejemplo implementaciones de referencia usan clone con flags de CLONE_NEWUTS CLONE_NEWPID CLONE_NEWNS para crear namespaces y luego realizan chroot, setgid y setuid antes de ejecutar el binario dentro del contenedor. Librerias de sistema como nix en Rust exponen esas llamadas en sistemas Linux, pero no estan disponibles en entornos como macOS por ser llamadas especificas del kernel Linux.

Buenas practicas: al construir o integrar runtimes OCI en pipelines de desarrollo y despliegue se recomienda: asegurar la integridad del bundle rootfs, aplicar politicas de ciberseguridad para minimizar privilegios, usar herramientas de escaneo de imagenes y configurar monitorizacion y controles en cloud para respaldar entornos productivos.

Sobre Q2BSTUDIO: Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida que ayuda a las empresas a transformar sus procesos mediante soluciones personalizadas. Somos especialistas en inteligencia artificial y ofrecemos servicios de ia para empresas incluyendo agentes IA y soluciones de automatizacion inteligente. Además proporcionamos servicios de ciberseguridad para proteger infraestructuras y datos, servicios cloud aws y azure para despliegues escalables y resilientes, y servicios inteligencia de negocio con herramientas como power bi para visualizacion y analitica avanzada. Nuestro enfoque combina experiencia en desarrollo a medida, integración de modelos de IA y buenas practicas de seguridad para entregar soluciones que aporten valor real al negocio.

Por que elegir una aproximacion OCI: usar un runtime compatible OCI facilita la portabilidad entre herramientas y plataformas, permite a equipos adoptar un modelo estandarizado y controlar aspectos de seguridad y rendimiento a nivel bajo. Esto es especialmente util cuando se integran soluciones de inteligencia artificial, despliegues en servicios cloud aws y azure o cuando se requiere cumplimiento y auditoria en entornos productivos.

Recursos y lectura adicional: especificacion OCI runtime https://specs.opencontainers.org/runtime-spec/config/ implementacion runc https://github.com/opencontainers/runc repositorio runtime spec https://github.com/opencontainers/runtime-spec articulos y guias adicionales sobre historia de Docker y comparativas entre runtimes pueden encontrarse en blogs tecnicos y publicaciones especializadas.

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat