Docker paso a paso: Compose, Nginx, MySQL y entrar a un contenedor

3 November, 2026 | Docker

Esta guía reúne en un solo lugar mi serie de videos de Docker: Docker Compose, un servidor Nginx, una base de datos MySQL y cómo entrar a un contenedor para ejecutar comandos, con un respaldo de la base de datos como ejemplo. Cada sección tiene su video y los comandos base para que puedas repetirlo en tu máquina.

Si todavía no tienes claro qué es Docker, empieza por ¿Qué es Docker? y vuelve aquí. Necesitas tener Docker instalado; todos los comandos van en una terminal.

¿Qué es Docker Compose?

Docker Compose te permite describir en un archivo (docker-compose.yml) los contenedores de tu aplicación, sus puertos y sus volúmenes, y levantarlo todo con un solo comando en lugar de escribir varios docker run. Aquí tienes la explicación corta en video:

Un ejemplo mínimo con un servidor web:

services:
  web:
    image: nginx
    ports:
      - "8080:80"

Lo levantas con docker compose up -d y lo detienes con docker compose down. En cómo instalar WordPress con Docker usamos Compose para armar un sitio completo.

Nginx en Docker

Continuamos con la serie: aquí levantamos un servidor Nginx en Docker. Si prefieres ver el video en mi canal de YouTube, puedes suscribirte aquí, o verlo a continuación.

El comando base descarga la imagen y publica el puerto 80 del contenedor en el 8080 de tu máquina:

docker run -d --name mi-nginx -p 8080:80 nginx

Abre http://localhost:8080 en el navegador y verás la página de bienvenida de Nginx.

MySQL en Docker

Continuando con la serie de videos de Docker, ahora levantamos un contenedor de MySQL:

Para que los datos no se pierdan al borrar el contenedor, guárdalos en un volumen:

docker run -d --name mi-mysql \
  -e MYSQL_ROOT_PASSWORD=cambia-esta-clave \
  -v mysql-datos:/var/lib/mysql \
  -p 3306:3306 mysql:8

Cambia la contraseña por una tuya. Con la base de datos corriendo ya tienes algo con qué practicar la siguiente sección.

Cómo entrar a un contenedor de Docker

Hoy vemos cómo ejecutar comandos dentro de un contenedor y cómo ingresar a él. Para el ejemplo realizamos un respaldo de una base de datos MySQL.

Para abrir una terminal dentro del contenedor:

docker exec -it mi-mysql bash

Y para sacar un respaldo de MySQL sin entrar, directo a un archivo de tu máquina:

docker exec -i mi-mysql sh -c 'mysqldump -u root -p"$MYSQL_ROOT_PASSWORD" --all-databases' > respaldo.sql

Resumen de comandos

  • docker compose up -d / docker compose down: levantar y detener lo definido en tu docker-compose.yml.
  • docker ps: ver los contenedores en ejecución (docker ps -a incluye los detenidos).
  • docker logs mi-nginx: ver lo que escribe un contenedor.
  • docker exec -it <contenedor> bash: entrar a un contenedor.
  • docker stop y docker rm: detener y borrar un contenedor.

Sigue aprendiendo