MINI TUTORIAL DOCKER – DÍA 1
Qué es Docker de verdad + instalación en Linux
(contenedores vs máquinas virtuales, imágenes, contenedores, Docker Engine)
1. Objetivo del día
Hoy vas a entender qué es Docker, qué problema resuelve y cómo instalarlo correctamente en un sistema Linux moderno.
Aprenderás:
- qué es un contenedor
- en qué se diferencia de una máquina virtual
- qué es una imagen
- qué es Docker Engine
- qué es Docker Hub
- cómo instalar Docker en Linux
- cómo ejecutar tu primer contenedor real
Al terminar este día sabrás qué estás usando y por qué es tan importante en DevOps y sistemas.
2. ¿Qué es un contenedor?
Un contenedor es:
👉 un proceso aislado, con su propio sistema de archivos, sus dependencias y su configuración.
No es una máquina virtual.
Diferencias clave:
| Máquina Virtual | Contenedor |
|---|---|
| Emula un hardware entero | Comparte kernel con el host |
| Arranca un sistema operativo completo | Arranca solo una aplicación |
| Lento al iniciar | Inicia en milisegundos |
| Consume mucha RAM/CPU | Muy ligero |
| Pesado para mover/copiar | Muy fácil de distribuir |
Idea principal:
Un contenedor = un proceso + su entorno completo, empaquetado.
Por eso:
- no tienes que instalar dependencias a mano
- no “ensucias” el sistema
- puedes moverlo entre máquinas sin romper nada
- puedes tener versiones diferentes de la misma app en paralelo
3. ¿Qué es una imagen Docker?
Una imagen es:
👉 una plantilla inmutable que contiene el código y dependencias necesarias para ejecutar un contenedor.
Ejemplos de imágenes:
nginxredismysqlpython:3.12ubuntu:latest
Cuando ejecutas una imagen → se convierte en un contenedor.
4. Registro de imágenes: Docker Hub
Docker Hub es el repositorio oficial de imágenes.
Desde allí:
- descargas (
docker pull) - ejecutas (
docker run) - actualizas (
docker pull nueva_version)
Ejemplo:
docker pull nginx
docker pull alpine
Las imágenes oficiales están auditadas y son fiables.
¿Qué es Alpine Linux?
Alpine es una distribución Linux ultraligera, diseñada para contenedores:
- pesa ~5 MB
- arranca instantáneo
- extremadamente segura
- perfecta para “mini contenedores”
Por eso verás muchas imágenes basadas en Alpine.
5. ¿Qué es Docker Engine?
Es el motor que permite ejecutar contenedores:
- demonio:
dockerd - cliente:
docker - API REST interna
- gestión de contenedores, imágenes, redes y volúmenes
Cuando instalas Docker, instalas:
docker→ cliente de comandosdockerd→ motor- soporte para redes, almacenamiento, plugins, etc.
6. Instalación real de Docker en Linux (Ubuntu/Debian)
⚠️ Comandos oficiales, actualizados
6.1 Instalar dependencias
sudo apt update
sudo apt install ca-certificates curl gnupg
6.2 Añadir clave oficial de Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
6.3 Añadir repositorio oficial
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
6.4 Instalar Docker Engine y CLI
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
6.5 Comprobar instalación
docker --version
docker info
7. Permitir usar Docker sin sudo (opcional pero recomendado)
sudo usermod -aG docker $USER
Cerrar sesión → volver a entrar.
8. Tu primer contenedor
✔ Clásico: hello-world
docker run hello-world
Explica:
- descarga imagen
- crea contenedor
- lo ejecuta
- imprime texto
✔ Ver contenedores activos
docker ps
✔ Ver contenedores históricos
docker ps -a
9. Docker en Windows: breve apunte
Para Windows se usa:
- Docker Desktop (requiere WSL2 en Windows 10+)
- Internamente usa kernel Linux a través de WSL2
- Las imágenes y contenedores son los mismos en Linux y Windows gracias a WSL2
- No se recomienda Docker nativo para Windows Server (muy limitada su utilidad)
Para este mini-tutorial → nos centramos en Linux
10. Práctica guiada del Día 1 (20–30 min)
✔ 1) Instalar Docker correctamente
✔ 2) Comprobar la versión
docker --version
docker info
✔ 3) Ejecutar tu primer contenedor
docker run hello-world
✔ 4) Ver contenedores ejecutados
docker ps -a
✔ 5) Descargar una imagen oficial
docker pull nginx
docker pull alpine
✔ 6) Ejecutar un contenedor Alpine y probar un comando interno
docker run --rm alpine echo "Hola desde Alpine"
11. Checklist del Día 1
- Entiendo qué es un contenedor
- Entiendo qué es una imagen
- Sé qué es Docker Engine
- Sé qué es Docker Hub
- He instalado Docker correctamente
- He ejecutado mi primer contenedor
- Sé ver contenedores activos e históricos
Si está todo marcado → Día 1 completado ✔
