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

  1. Adapta el tema central

    Cambia el nombre del tema para adaptarlo a tu proyecto o clase.

  2. Desarrolla las ramas

    Edita las ideas y añade ejemplos o notas.

  3. 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.

Editar este mapa mental en QueryChart

Más en Mapas mentales