TechLead
Lección 15 de 18
5 min de lectura
Docker

Docker con Bases de Datos

Ejecuta PostgreSQL, MongoDB, Redis y MySQL en contenedores Docker con persistencia de datos y respaldos

Ejecutar Bases de Datos en Docker

Docker es perfecto para ejecutar bases de datos en desarrollo — obtienes instancias de base de datos aisladas y reproducibles sin instalar nada en tu máquina host.

PostgreSQL

# docker-compose.yml
services:
  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secreto
      POSTGRES_DB: miapp
    volumes:
      - postgres-data:/var/lib/postgresql/data
    ports:
      - "5432:5432"
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U admin -d miapp"]
      interval: 10s
      timeout: 5s
      retries: 5

volumes:
  postgres-data:
# Conectar a PostgreSQL
docker compose exec postgres psql -U admin miapp

# Respaldo
docker compose exec postgres pg_dump -U admin miapp > respaldo.sql

# Restaurar
docker compose exec -T postgres psql -U admin miapp < respaldo.sql

Redis

services:
  redis:
    image: redis:7-alpine
    command: redis-server --appendonly yes
    volumes:
      - redis-data:/data
    ports:
      - "6379:6379"

volumes:
  redis-data:

Consejos para Contenedores de Base de Datos

  • 💾 Siempre usa volúmenes nombrados para persistencia de datos
  • 🔒 Nunca uses contraseñas por defecto en producción
  • 📋 Usa scripts de inicialización para configuración de esquema
  • 🏥 Configura health checks para que los servicios dependientes esperen por la BD
  • 📦 Haz respaldos de volúmenes regularmente

Continuar Aprendiendo