📋 Descripción
En este apartado se encuentra el material relacionado al taller de Docker.
En esta clase, se abordaron los conceptos básicos y comandos útiles sobre la creación de imágenes y contenedores Docker.
📎 Adjunto : Se incluye la diapositiva usada en la sesión:
🧰 Recursos
📚 Taller de Docker: Introducción y primeros pasos
Docker es una plataforma que permite crear, distribuir y ejecutar aplicaciones en contenedores.
Un contenedor es como una “caja ligera” que incluye todo lo necesario para ejecutar un programa: código, dependencias, librerías y configuración.
Con Docker puedes:
- Garantizar que tu aplicación se ejecute igual en cualquier entorno (local, servidor, nube).
- Aislar servicios para evitar conflictos entre proyectos.
- Automatizar despliegues y escalar aplicaciones fácilmente.
1. Fundamentos de Docker
Antes de usar Docker, debemos entender sus conceptos principales:
- Imagen: plantilla inmutable que contiene una aplicación lista para ejecutarse (ejemplo:
nginx,mysql). - Contenedor: una instancia en ejecución de una imagen.
- Dockerfile: archivo con instrucciones para construir imágenes personalizadas.
- Docker Hub: repositorio público donde se comparten imágenes de contenedores.
Un contenedor es a una imagen lo que un proceso es a un programa: uno es la definición, el otro la ejecución.
2. Instalación de Docker
Windows / Mac
Descargar e instalar Docker Desktop.
Linux (ejemplo: Ubuntu)
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable --now docker
Verificar instalación:
docker --version
3. Primeros pasos con Docker
Hola Mundo
Ejecuta el contenedor de prueba:
docker run hello-world
Descargar una imagen
docker pull nginx
Listar imágenes disponibles
docker images
Crear un contenedor
docker run -d -p 8080:80 nginx
-d: modo “detached” (en segundo plano).-p: mapea el puerto 80 del contenedor al 8080 de tu máquina.
Accede en el navegador: http://localhost:8080
Listar contenedores
docker ps
4. Gestión de contenedores
- Detener un contenedor:
docker stop <id_contenedor>
- Eliminar un contenedor:
docker rm <id_contenedor>
- Eliminar una imagen:
docker rmi nginx
5. Crear una BD a partir de una Imagen
- Crear instancia de una BD en Postres 16:
docker run --name pg16 -e POSTGRES_PASSWORD=postgres -d -p 5432:5432 postgres:16.0
- Esto crea un contenedor de Postgres con la siguiente configuración:
- Host : localhost
- Puerto: 5432
- Database: postgres
- Username: postgres
- Password: postgres
6. Construcción de imágenes con Dockerfile
Ejemplo de Dockerfile para una aplicación Node.js:
# Imagen base
FROM node:18
# Carpeta de trabajo
WORKDIR /app
# Copiar archivos
COPY package*.json ./
RUN npm install
COPY . .
# Puerto expuesto
EXPOSE 3000
# Comando de inicio
CMD ["npm", "start"]
Construir la imagen:
docker build -t mi-app .
Ejecutar la imagen:
docker run -d -p 3000:3000 mi-app
7. Docker Compose
Para manejar múltiples contenedores juntos usamos Docker Compose. Ejemplo: aplicación con Node.js y MongoDB.
docker-compose.yml:
version: "3.8"
services:
app:
build: .
ports:
- "3000:3000"
depends_on:
- db
db:
image: mongo
ports:
- "27017:27017"
Levantar todo:
docker-compose up -d
Detener todo:
docker-compose down
8. Casos de uso de Docker
- Desarrollo local sin problemas de dependencias.
- Pruebas automatizadas en CI/CD.
- Despliegue en servidores y nube.
- Microservicios que necesitan correr de forma aislada.
9. Ejercicio práctico del taller
- Instalar Docker en tu máquina.
- Levantar un contenedor de Nginx en el puerto 8080.
- Crear un contenedor de MySQL con usuario y contraseña configurados.
- Construir tu propia imagen de una app simple en Node.js o Python.
- Usar Docker Compose para ejecutar la app + base de datos juntas.
Docker es la base de muchas tecnologías modernas (Kubernetes, Swarm, OpenShift). Dominarlo es un paso fundamental en el camino hacia DevOps y despliegue en la nube.
👨💻 Autor - Facilitador
🔰 Grupos de estudio organizadores
🇧🇴 La Paz - Bolivia 2025