Docker: Guía Visual
de Inicio
Diego Ayala
2025/01/01
01 ¿Qué es Docker?
02 Arquitectura Docker
03 Imágenes y contenedores
04 Dockerfile y construcción
05 Servicios y orquestación
CONTENTS
01
¿Qué es Docker?
Definición y propósito de Docker
Definición de Docker
Docker es una plataforma de
contenedorización que permite
empaquetar aplicaciones y sus
dependencias en contenedores
ligeros. Estos contenedores son
portables y funcionan de manera
consistente en cualquier entorno que
soporte Docker.
Propósito de Docker
El principal propósito de Docker es
resolver el problema de "funciona en
mi máquina" al asegurar que las
aplicaciones se ejecuten de manera
idéntica en diferentes entornos,
desde desarrollo hasta producción.
Contenedores vs máquinas virtuales
Contenedores
Los contenedores comparten
el kernel del sistema
operativo host, lo que los
hace más ligeros y rápidos
que las máquinas virtuales.
Máquinas Virtuales
Las máquinas virtuales
virtualizan hardware
completo, lo que las hace
más pesadas y lentas en
comparación con los
contenedores.
Ejemplo Práctico
En un servidor con 8 GB de
RAM, puedes ejecutar 50
contenedores, mientras que
solo podrías ejecutar 5
máquinas virtuales.
02
Arquitectura Docker
Componentes del sistema Docker
Docker Engine
Docker Engine es el corazón del sistema, que incluye el daemon dockerd y la API REST
para comunicación.
CLI
La CLI (línea de comandos) permite a los
usuarios interactuar con Docker,
ejecutando comandos como docker run y
docker ps.
Curiosidad
El daemon dockerd se ejecuta en
segundo plano y gestiona todos los
aspectos del ciclo de vida de los
contenedores.
Docker Client y Docker Daemon
Docker Client y Daemon
El Docker Client es la interfaz de línea de
comandos que los usuarios utilizan para
interactuar con Docker. El Docker
Daemon es un proceso en segundo
plano que escucha peticiones de la API y
gestiona objetos Docker como
imágenes, contenedores, redes y
volúmenes.
Docker Registries y objetos
Docker Registries
Docker Registries almacenan
imágenes Docker, siendo Docker
Hub el registry público por
defecto. Los objetos principales
incluyen imágenes,
contenedores, redes y
volúmenes.
Curiosidad
Docker Hub aloja más de 8 millones de
imágenes públicas, desde sistemas
operativos ligeros como Alpine Linux hasta
aplicaciones enterprise.
03
Imágenes y contenedores
Definición de imágenes Docker
Definición de
Imágenes
Una imagen Docker es una
plantilla de solo lectura que
contiene instrucciones para
crear un contenedor. Incluye el
sistema operativo,
aplicaciones y dependencias
necesarias.
Ejemplo Práctico
La imagen oficial de nginx
ocupa solo 133 MB, mientras
que una imagen completa de
Ubuntu puede ocupar hasta
2.4 GB.
Contenedores desde imágenes
Contenedores
Un contenedor es una
instancia ejecutable de
una imagen. Se crea
añadiendo una capa de
escritura sobre la
imagen base.
Ventajas
Los contenedores son
aislados, portables y
pueden iniciarse,
detenerse, moverse o
eliminarse
rápidamente.
Curiosidad
Un contenedor puede
arrancar en menos de
500 milisegundos, más
rápido que abrir una
aplicación nativa.
Gestión de contenedores
Comandos de Gestión
Los contenedores se gestionan mediante comandos como docker run para crear y ejecutar,
docker ps para listar activos, docker stop para detener, y docker rm para eliminar. Cada
contenedor tiene un ID único y puede tener nombres descriptivos.
04
Dockerfile y construcción
Introducción al Dockerfile
Dockerfile
Un Dockerfile es un archivo
de texto que contiene
instrucciones para
construir una imagen
Docker. Define la imagen
base, comandos a ejecutar,
archivos a copiar y puertos
a exponer.
Capas
Incrementales
Cada instrucción en el
Dockerfile crea una nueva
capa en la imagen final, lo
que permite la reutilización
de capas y una
construcción más eficiente.
Curiosidad
Las instrucciones se
ejecutan en orden, y
cambiar una línea solo
reconstruye las capas
posteriores, ahorrando
tiempo en futuras
construcciones.
Proceso de construcción de imágenes
02
01
Construcción de Imágenes
El comando docker build lee el Dockerfile y ejecuta
instrucciones secuencialmente. Cada instrucción
crea una capa intermedia que se almacena en
caché para futuras construcciones.
Ejemplo Práctico
El comando docker build -t mi-app:1.0 . crea una
imagen etiquetada desde el Dockerfile actual, lista
para ejecutarse o distribuirse.
05
Servicios y orquestación
Definición de servicios en Docker
Servicios
Un servicio es un contenedor en producción que escala horizontalmente. Define cómo
se ejecuta una imagen en producción, incluyendo número de réplicas, puertos, redes
y volúmenes.
Curiosidad
En Docker Swarm, puedes escalar de 1 a 100 réplicas con un solo comando: docker
service scale mi-app=100.
Docker Compose y orquestación
Docker Compose
Docker Compose define
servicios multi-contenedor
usando un archivo YAML.
Permite ejecutar aplicaciones
complejas con múltiples
servicios interconectados.
Docker Swarm
Docker Swarm proporciona orquestación nativa para gestionar
clústeres de Docker en producción, facilitando la administración de
múltiples contenedores.
Ejemplo Práctico
Un archivo docker-compose.yml puede levantar WordPress + MySQL
+ Redis con un solo comando docker-compose up.
Kimi AI 2025/01/01
YOUR LOGO
THANK YOU

Docker guia de inicio 2 eeeeeeeeeeeeeeee

  • 1.
    Docker: Guía Visual deInicio Diego Ayala 2025/01/01
  • 2.
    01 ¿Qué esDocker? 02 Arquitectura Docker 03 Imágenes y contenedores 04 Dockerfile y construcción 05 Servicios y orquestación CONTENTS
  • 3.
  • 4.
    Definición y propósitode Docker Definición de Docker Docker es una plataforma de contenedorización que permite empaquetar aplicaciones y sus dependencias en contenedores ligeros. Estos contenedores son portables y funcionan de manera consistente en cualquier entorno que soporte Docker. Propósito de Docker El principal propósito de Docker es resolver el problema de "funciona en mi máquina" al asegurar que las aplicaciones se ejecuten de manera idéntica en diferentes entornos, desde desarrollo hasta producción.
  • 5.
    Contenedores vs máquinasvirtuales Contenedores Los contenedores comparten el kernel del sistema operativo host, lo que los hace más ligeros y rápidos que las máquinas virtuales. Máquinas Virtuales Las máquinas virtuales virtualizan hardware completo, lo que las hace más pesadas y lentas en comparación con los contenedores. Ejemplo Práctico En un servidor con 8 GB de RAM, puedes ejecutar 50 contenedores, mientras que solo podrías ejecutar 5 máquinas virtuales.
  • 6.
  • 7.
    Componentes del sistemaDocker Docker Engine Docker Engine es el corazón del sistema, que incluye el daemon dockerd y la API REST para comunicación. CLI La CLI (línea de comandos) permite a los usuarios interactuar con Docker, ejecutando comandos como docker run y docker ps. Curiosidad El daemon dockerd se ejecuta en segundo plano y gestiona todos los aspectos del ciclo de vida de los contenedores.
  • 8.
    Docker Client yDocker Daemon Docker Client y Daemon El Docker Client es la interfaz de línea de comandos que los usuarios utilizan para interactuar con Docker. El Docker Daemon es un proceso en segundo plano que escucha peticiones de la API y gestiona objetos Docker como imágenes, contenedores, redes y volúmenes.
  • 9.
    Docker Registries yobjetos Docker Registries Docker Registries almacenan imágenes Docker, siendo Docker Hub el registry público por defecto. Los objetos principales incluyen imágenes, contenedores, redes y volúmenes. Curiosidad Docker Hub aloja más de 8 millones de imágenes públicas, desde sistemas operativos ligeros como Alpine Linux hasta aplicaciones enterprise.
  • 10.
  • 11.
    Definición de imágenesDocker Definición de Imágenes Una imagen Docker es una plantilla de solo lectura que contiene instrucciones para crear un contenedor. Incluye el sistema operativo, aplicaciones y dependencias necesarias. Ejemplo Práctico La imagen oficial de nginx ocupa solo 133 MB, mientras que una imagen completa de Ubuntu puede ocupar hasta 2.4 GB.
  • 12.
    Contenedores desde imágenes Contenedores Uncontenedor es una instancia ejecutable de una imagen. Se crea añadiendo una capa de escritura sobre la imagen base. Ventajas Los contenedores son aislados, portables y pueden iniciarse, detenerse, moverse o eliminarse rápidamente. Curiosidad Un contenedor puede arrancar en menos de 500 milisegundos, más rápido que abrir una aplicación nativa.
  • 13.
    Gestión de contenedores Comandosde Gestión Los contenedores se gestionan mediante comandos como docker run para crear y ejecutar, docker ps para listar activos, docker stop para detener, y docker rm para eliminar. Cada contenedor tiene un ID único y puede tener nombres descriptivos.
  • 14.
  • 15.
    Introducción al Dockerfile Dockerfile UnDockerfile es un archivo de texto que contiene instrucciones para construir una imagen Docker. Define la imagen base, comandos a ejecutar, archivos a copiar y puertos a exponer. Capas Incrementales Cada instrucción en el Dockerfile crea una nueva capa en la imagen final, lo que permite la reutilización de capas y una construcción más eficiente. Curiosidad Las instrucciones se ejecutan en orden, y cambiar una línea solo reconstruye las capas posteriores, ahorrando tiempo en futuras construcciones.
  • 16.
    Proceso de construcciónde imágenes 02 01 Construcción de Imágenes El comando docker build lee el Dockerfile y ejecuta instrucciones secuencialmente. Cada instrucción crea una capa intermedia que se almacena en caché para futuras construcciones. Ejemplo Práctico El comando docker build -t mi-app:1.0 . crea una imagen etiquetada desde el Dockerfile actual, lista para ejecutarse o distribuirse.
  • 17.
  • 18.
    Definición de serviciosen Docker Servicios Un servicio es un contenedor en producción que escala horizontalmente. Define cómo se ejecuta una imagen en producción, incluyendo número de réplicas, puertos, redes y volúmenes. Curiosidad En Docker Swarm, puedes escalar de 1 a 100 réplicas con un solo comando: docker service scale mi-app=100.
  • 19.
    Docker Compose yorquestación Docker Compose Docker Compose define servicios multi-contenedor usando un archivo YAML. Permite ejecutar aplicaciones complejas con múltiples servicios interconectados. Docker Swarm Docker Swarm proporciona orquestación nativa para gestionar clústeres de Docker en producción, facilitando la administración de múltiples contenedores. Ejemplo Práctico Un archivo docker-compose.yml puede levantar WordPress + MySQL + Redis con un solo comando docker-compose up.
  • 20.