Saltar a contenido

Introducción

Guía del Estudiante: Crear 4 Motores de Base de Datos con Docker Compose

Objetivo: Crear en WSL una infraestructura completa con MySQL, PostgreSQL, SQL Server y Oracle XE, organizada bajo ~/ia-lab/services/motores-bd/, lista para acceso remoto desde cualquier equipo de la red.


Tabla de Contenidos

  1. Requisitos Previos
  2. Paso 1: Crear Carpetas
  3. Paso 2: Crear la Red Docker Compartida

MySQL — MySQL 8.0 - Motor de Base de Datos

  • MySQL — Crear el archivo docker-compose.yml
  • MySQL — Crear el archivo .env
  • MySQL — Crear README.md
  • MySQL — Levantar MySQL
  • MySQL — Conectar localmente a MySQL
  • MySQL — Crear un usuario PROPIO con ACCESO REMOTO
  • MySQL — Conectar remotamente desde cualquier equipo
  • MySQL — Backup de una base de datos
  • MySQL — Variables clave del .env

PostgreSQL — PostgreSQL 17 - Motor de Base de Datos

  • PostgreSQL — Crear docker-compose.yml
  • PostgreSQL — Crear .env
  • PostgreSQL — Crear README.md
  • PostgreSQL — Levantar PostgreSQL
  • PostgreSQL — Conectar localmente a PostgreSQL
  • PostgreSQL — Crear un usuario PROPIO con ACCESO REMOTO
  • PostgreSQL — Conectar remotamente desde cualquier equipo
  • PostgreSQL — Backup de una base de datos
  • PostgreSQL — Variables clave del .env

MS SQL Server — SQL Server 2022 - Motor de Base de Datos

  • MS SQL Server — Crear el archivo docker-compose.yml
  • MS SQL Server — Crear el archivo .env
  • MS SQL Server — Crear README.md
  • MS SQL Server — Levantar SQL Server
  • MS SQL Server — Instalar mssql-tools en WSL
  • MS SQL Server — Conectar localmente a SQL Server
  • MS SQL Server — Crear un usuario PROPIO con ACCESO REMOTO
  • MS SQL Server — Conectar remotamente desde cualquier equipo
  • MS SQL Server — Backup de una base de datos
  • MS SQL Server — Variables clave del .env

Oracle — Oracle XE - Motor de Base de Datos

  • Oracle — Crear el archivo docker-compose.yml
  • Oracle — Crear el archivo .env
  • Oracle — Crear README.md
  • Oracle — Levantar Oracle
  • Oracle — Conectar localmente a Oracle
  • Oracle — Crear un usuario PROPIO con ACCESO REMOTO
  • Oracle — Conectar remotamente desde cualquier equipo
  • Oracle — Backup de una base de datos
  • Oracle — Variables clave del .env

1. Requisitos Previos

  • WSL2 instalado y funcionando
  • Docker funcionando dentro de WSL
  • Acceso a terminal bash en WSL

Instalar Docker y Compose

sudo apt update
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo systemctl stop unattended-upgrades
sudo apt install docker-compose-plugin

Verifica Docker:

sudo docker --version
sudo docker compose version

2. Paso 1: Crear Carpetas

Abre tu terminal WSL y ejecuta:

mkdir -p ~/ia-lab/services/motores-bd/{mysql,postgres,mssql,oracle}
mkdir -p ~/ia-lab/data/{mysql,postgres,mssql,oracle}

Verifica la estructura:

cd ia-lab
tree

Debería verse así:

~/ia-lab/
├── services/
│   └── motores-bd/
│       ├── mysql/
│       ├── postgres/
│       ├── mssql/
│       └── oracle/
└── data/
    ├── mysql/
    ├── postgres/
    ├── mssql/
    └── oracle/

3. Paso 2: Crear la Red Docker Compartida

Todos los contenedores compartirán una misma red Docker para comunicarse entre sí:

docker network inspect ia-lab-network >/dev/null 2>&1 || docker network create ia-lab-network

Verifica que se creó:

docker network ls | grep ia-lab