Docker es una solución ideal para desplegar MariaDB de forma rápida y sencilla. Solo necesitas descargar la imagen adecuada, configurarla e iniciar el contenedor con los parámetros deseados. De este modo, podrás probar o desarrollar aplicaciones con MariaDB en Docker, de manera independiente del sistema host y dentro de un entorno controlado.

Ventajas de usar MariaDB con Docker

Docker ofrece una manera sencilla de desplegar MariaDB en entornos aislados. Permite iniciar instancias rápidamente y probar diferentes versiones de forma independiente del sistema host. Así se ahorra tiempo, se evitan conflictos con instalaciones locales y se crean condiciones reproducibles para el desarrollo y las pruebas.

Requisitos previos

Antes de empezar, asegúrate de cumplir con los siguientes requisitos:

  • Docker está instalado y en ejecución en tu sistema
  • Acceso a una consola (Terminal, PowerShell, etc.) con privilegios de administrador
  • Opcional para MariaDB: Docker Compose para configuraciones más complejas
Bases de datos gestionadas
Bases de datos seguras y fáciles de usar
  • Arquitectura de primera gestionada por expertos
  • Soluciones flexibles adaptadas a tus necesidades
  • Seguridad máxima en centros de datos con certificación ISO

Instalación de MariaDB en Docker: guía paso a paso

A continuación, se explica cómo instalar MariaDB en Docker en pocos pasos.

Paso 1: instalar Docker

Si aún no tienes Docker instalado, puedes configurarlo fácilmente mediante el script oficial de instalación:

curl -sSL https://get.docker.com/ | sh
bash

En Windows o macOS se recomienda utilizar Docker Desktop. Tras completar la instalación, verifica que funciona correctamente con:

docker --version
bash

La salida debería mostrar un número de versión, por ejemplo: Docker version 27.5.1, build cb74dfcd. Si aparece, significa que Docker se ha instalado correctamente.

Paso 2: descargar la imagen de MariaDB

Ahora descarga la imagen oficial de MariaDB en Docker desde Docker Hub. Esta incluye una instancia de MariaDB completamente preconfigurada.

docker pull mariadb:latest
bash

Si prefieres una versión concreta, también puedes especificarla de forma explícita, por ejemplo:

docker pull mariadb:10.11
bash

Después, comprueba todas las imágenes almacenadas localmente con:

docker images
bash

En la lista debería aparecer una línea con mariadb y la etiqueta correspondiente.

Paso 3: iniciar un contenedor de MariaDB en Docker

Ahora crea el contenedor con el siguiente comando:

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password -d -p 3306:3306 mariadb:latest
bash
  • --name mariadb-container: asigna un nombre al contenedor para poder referenciarlo fácilmente en el sistema.
  • -e MYSQL_ROOT_PASSWORD=password: establece la contraseña del usuario root de la base de datos MariaDB. La necesitarás más adelante para iniciar sesión.
  • -d: ejecuta el contenedor en segundo plano (detached mode), dejando la consola libre.
  • -p 3306:3306: vincula el puerto estándar de la base de datos dentro del contenedor con el mismo puerto en tu sistema local, lo que permite acceder con clientes externos.

Tras ejecutar el comando, Docker debería iniciar el contenedor. Para comprobar su estado:

docker ps
bash

En la lista de contenedores en ejecución deberías ver mariadb-container con el estado Up. Si el contenedor no arranca correctamente, consulta los registros con:

docker logs mariadb-container
bash

La salida de los registros te ayudará a identificar posibles errores de configuración.

Paso 4: acceder a MariaDB

Una vez que el contenedor de MariaDB está en ejecución, puedes conectarte con un cliente compatible con MySQL, como la herramienta estándar de MySQL o aplicaciones gráficas como DBeaver, HeidiSQL o Beekeeper Studio.

En la línea de comandos, por ejemplo, utiliza:

mysql -h 127.0.0.1 -P 3306 -u root -p
bash

Se te pedirá la contraseña que configuraste con MYSQL_ROOT_PASSWORD.

Si todo funciona correctamente, tendrás acceso a la consola de MariaDB, donde podrás ejecutar comandos SQL habituales:

SHOW DATABASES;
sql

Verás una lista de las bases de datos predeterminadas y ya podrás crear tus propias bases de datos o tablas.

Compute Engine
La solución IaaS ideal para tus cargas de trabajo
  • vCPU económico con núcleos dedicados
  • Flexible y sin periodo mínimo contractual
  • Soporte experto 24/7

Paso 5: asegurar datos persistentes con volúmenes

Por defecto, los datos en un contenedor son temporales. Para conservarlos tras reinicios o cambios de contenedor, debes usar un volumen:

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password -d \
    -v mariadb_data:/var/lib/mysql \
    -p 3306:3306 mariadb:latest
bash

La opción -v mariadb_data:/var/lib/mysql crea un volumen de Docker llamado mariadb_data y lo vincula al directorio donde MariaDB guarda sus datos.

Puedes ver los volúmenes almacenados en cualquier momento con:

docker volume ls
bash

Y comprobar el contenido de un volumen con:

docker volume inspect mariadb_data
bash

Paso 6: gestionar MariaDB con Docker Compose

Para configuraciones más complejas es recomendable usar Docker Compose. Crea un archivo llamado docker-compose.yml con el siguiente contenido:

version: '3.1'
services:
    mariadb:
        image: mariadb:latest
        container_name: mariadb-compose
        environment:
            MYSQL_ROOT_PASSWORD: password
            MYSQL_DATABASE: example_db
        ports:
            - "3306:3306"
        volumes:
            - mariadb_data:/var/lib/mysql
volumes:
    mariadb_data:
yaml

Inicia el entorno con:

docker-compose up -d
bash

Con esto, MariaDB se ejecutará en segundo plano de forma permanente, con almacenamiento persistente y una base de datos preconfigurada.

Paso 7: detener, iniciar y eliminar contenedores

La gestión de contenedores con Docker es muy sencilla. Puedes detener o reiniciar el contenedor de MariaDB en cualquier momento sin perder datos, siempre que uses volúmenes.

Detener el contenedor:

docker stop mariadb-container
bash

Iniciar el contenedor:

docker start mariadb-container
bash

Eliminar el contenedor:

docker rm mariadb-container
bash

Eliminar el contenedor junto con su volumen:

docker rm -v mariadb-container
bash

Paso 8: reinicio automático del contenedor

Para asegurarte de que tu contenedor de MariaDB se reinicie automáticamente tras un reinicio del sistema host, puedes establecer una política de reinicio:

docker run --name mariadb-container -e MYSQL_ROOT_PASSWORD=password \
    -v mariadb_data:/var/lib/mysql \
    -p 3306:3306 \
    --restart unless-stopped \
    -d mariadb:latest
bash

La opción --restart unless-stopped garantiza que el contenedor se inicie automáticamente después de un reinicio del sistema, salvo que lo hayas detenido manualmente.

¿Le ha resultado útil este artículo?
Ir al menú principal