Cómo funciona Docker · Mapas mentales
Cómo funciona Docker. Un mapa mental editable con ramas de colores, ideas secundarias y conexiones. Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.
Docker empaqueta una aplicación y todo lo que necesita en una imagen y después la ejecuta como un contenedor: un proceso aislado que se comporta igual en cualquier máquina que tenga un motor de Docker.
Cómo funciona Docker · Mapas mentales
El lienzo interactivo de MindMap de esta explicación: cada carril, cada fila y cada flecha de arriba forma parte de un diagrama real de QueryChart que puedes abrir y editar.
Cómo leer este mapa mental
- Empieza por el tema central y sigue una rama de color para explorar sus ideas.
- Las líneas curvas muestran relaciones; las flechas aparecen cuando importa la dirección.
Describe & build
Esta rama reúne “The Dockerfile is a recipe: base image, dependencies, files to copy, the command to run. It makes the build reproducible — the same file produces the same image everywhere.”, “docker build packages the app and its dependencies”.
Image
Esta rama reúne “An image is the packaging artifact: everything the app needs to run, frozen in read-only layers. It never changes once built.”, “Image is pushed to a registry, or pulled from one”.
Container
Esta rama reúne “docker run starts a container from the image”, “Namespaces isolate what the process can see (its own file system, network, processes); cgroups limit what it can use (CPU, memory). This is how many containers run on one host without fighting.”.
Host kernel
Esta rama reúne “Container shares the host kernel but has its own file system”.
Portable app
Esta rama reúne “Because the container carries its own runtime, libraries and configuration, “works on my machine” stops being a real failure mode.”.
Conexiones entre ramas
Una imagen es una instantánea de solo lectura; un contenedor es una instancia suya en ejecución.
Los contenedores comparten el kernel del anfitrión y fingen el aislamiento con namespaces, y por eso arrancan en segundos donde una máquina virtual tarda minutos.
Los cgroups limitan lo que un contenedor puede consumir, así que un vecino ruidoso no puede dejar sin recursos al anfitrión.
La inmutabilidad de la imagen es lo que hace cierto el «se ejecuta igual en todas partes».
Docker aporta el empaquetado y el runtime; los orquestadores como Kubernetes gestionan muchos contenedores repartidos entre anfitriones.
Relaciones clave y conclusiones
- Una imagen es una instantánea de solo lectura; un contenedor es una instancia suya en ejecución.
- Los contenedores comparten el kernel del anfitrión y fingen el aislamiento con namespaces, y por eso arrancan en segundos donde una máquina virtual tarda minutos.
- Los cgroups limitan lo que un contenedor puede consumir, así que un vecino ruidoso no puede dejar sin recursos al anfitrión.
- La inmutabilidad de la imagen es lo que hace cierto el «se ejecuta igual en todas partes».
- Docker aporta el empaquetado y el runtime; los orquestadores como Kubernetes gestionan muchos contenedores repartidos entre anfitriones.
Cuándo usar este diagrama
- Explicar a un desarrollador por qué funciona Docker y en qué se diferencia un contenedor de una máquina virtual.
- Formar a un equipo en el modelo construir-distribuir-ejecutar antes de que escriba su primer Dockerfile.
- Anclar una conversación sobre la deriva de entornos: por qué «funciona en mi máquina» deja de aplicarse.
Cómo funciona
Adapta el tema central
Cambia el nombre del tema para adaptarlo a tu proyecto o clase.
Desarrolla las ramas
Edita las ideas y añade ejemplos o notas.
Conecta ideas relacionadas
Dibuja conexiones entre ramas; usa flechas cuando la dirección importe.
Preguntas frecuentes
¿Cuál es la diferencia entre un contenedor y una máquina virtual?
Una máquina virtual virtualiza el hardware: lleva un sistema operativo completo y un hipervisor media en todo, lo que la hace pesada y lenta de arrancar. Un contenedor virtualiza el sistema operativo: comparte el kernel del anfitrión y usa namespaces para el aislamiento y cgroups para los límites de recursos. Por eso los contenedores arrancan en segundos y son mucho más ligeros; a cambio, todos los contenedores de un anfitrión comparten el kernel de ese anfitrión.
¿Qué es una imagen frente a un contenedor?
Una imagen es el artefacto estático: una instantánea de solo lectura de la aplicación y sus dependencias, construida a partir del Dockerfile. Un contenedor es esa imagen en movimiento: un proceso en ejecución con una capa de escritura encima. Construyes una imagen una vez y puedes arrancar miles de contenedores a partir de ella, cada uno aislado de los demás.
¿Cómo aísla Docker los contenedores?
Con dos funciones del kernel de Linux. Los namespaces dan a cada contenedor su propia vista del sistema (su sistema de archivos, su pila de red, su tabla de procesos y sus identificadores de usuario), de modo que parece una máquina propia. Los cgroups (grupos de control) limitan y miden los recursos: acotan cuánta CPU, memoria y E/S puede consumir un contenedor para que uno no tumbe a sus vecinos.
¿Por qué Docker hace portables las aplicaciones?
Porque la imagen agrupa la aplicación con su runtime, sus bibliotecas y su configuración: todo excepto el kernel. Allí donde exista un motor de Docker, la imagen se ejecuta igual, así que la distancia entre el portátil de un desarrollador, un runner de CI y un servidor de producción se reduce a la configuración que se deja fuera de la imagen a propósito.
Editar este mapa mental en QueryChart
Abre este mapa mental en un lienzo editable. Mueve ideas, añade ramas y dibuja conexiones.