Docker es una solución ideal para desplegar MariaDB de forma rápida y sencilla. Solo necesitas descargar la imagen adecuada, co­n­fi­gu­rar­la e iniciar el co­n­te­ne­dor con los pa­rá­me­tros deseados. De este modo, podrás probar o de­sa­rro­llar apli­ca­cio­nes con MariaDB en Docker, de manera in­de­pe­n­die­n­te del sistema host y dentro de un entorno co­n­tro­la­do.

Ventajas de usar MariaDB con Docker

Docker ofrece una manera sencilla de desplegar MariaDB en entornos aislados. Permite iniciar in­s­ta­n­cias rá­pi­da­me­n­te y probar di­fe­re­n­tes versiones de forma in­de­pe­n­die­n­te del sistema host. Así se ahorra tiempo, se evitan co­n­fli­c­tos con in­s­ta­la­cio­nes locales y se crean co­n­di­cio­nes re­pro­du­ci­bles para el de­sa­rro­llo y las pruebas.

Re­qui­si­tos previos

Antes de empezar, asegúrate de cumplir con los si­guie­n­tes re­qui­si­tos:

  • Docker está instalado y en ejecución en tu sistema
  • Acceso a una consola (Terminal, Po­we­r­She­ll, etc.) con pri­vi­le­gios de ad­mi­ni­s­tra­dor
  • Opcional para MariaDB: Docker Compose para co­n­fi­gu­ra­cio­nes más complejas
Manage Databases
Managed Database von IONOS

Bases de datos a medida de tus ne­ce­si­da­des. Incluye soporte 24/7.

  • Ar­qui­te­c­tu­ra de primera
  • Soporte 24/7
  • Centros de datos ce­r­ti­fi­ca­dos

In­s­ta­la­ción de MariaDB en Docker: guía paso a paso

A co­n­ti­nua­ción, se explica cómo instalar MariaDB en Docker en pocos pasos.

Paso 1: instalar Docker

Si aún no tienes Docker instalado, puedes co­n­fi­gu­rar­lo fá­ci­l­me­n­te mediante el script oficial de in­s­ta­la­ción:

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

En Windows o macOS se re­co­mie­n­da utilizar Docker Desktop. Tras completar la in­s­ta­la­ción, verifica que funciona co­rre­c­ta­me­n­te 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 co­rre­c­ta­me­n­te.

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 co­m­ple­ta­me­n­te pre­co­n­fi­gu­ra­da.

docker pull mariadb:latest
bash

Si prefieres una versión concreta, también puedes es­pe­ci­fi­car­la de forma explícita, por ejemplo:

docker pull mariadb:10.11
bash

Después, comprueba todas las imágenes al­ma­ce­na­das lo­ca­l­me­n­te con:

docker images
bash

En la lista debería aparecer una línea con mariadb y la etiqueta co­rre­s­po­n­die­n­te.

Paso 3: iniciar un co­n­te­ne­dor de MariaDB en Docker

Ahora crea el co­n­te­ne­dor 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 co­n­te­ne­dor para poder re­fe­re­n­ciar­lo fá­ci­l­me­n­te en el sistema.
  • -e MYSQL_ROOT_PASSWORD=password: establece la co­n­tra­se­ña del usuario root de la base de datos MariaDB. La ne­ce­si­ta­rás más adelante para iniciar sesión.
  • -d: ejecuta el co­n­te­ne­dor en segundo plano (detached mode), dejando la consola libre.
  • -p 3306:3306: vincula el puerto estándar de la base de datos dentro del co­n­te­ne­dor con el mismo puerto en tu sistema local, lo que permite acceder con clientes externos.

Tras ejecutar el comando, Docker debería iniciar el co­n­te­ne­dor. Para comprobar su estado:

docker ps
bash

En la lista de co­n­te­ne­do­res en ejecución deberías ver mariadb-container con el estado Up. Si el co­n­te­ne­dor no arranca co­rre­c­ta­me­n­te, consulta los registros con:

docker logs mariadb-container
bash

La salida de los registros te ayudará a ide­n­ti­fi­car posibles errores de co­n­fi­gu­ra­ción.

Paso 4: acceder a MariaDB

Una vez que el co­n­te­ne­dor de MariaDB está en ejecución, puedes co­ne­c­tar­te con un cliente co­m­pa­ti­ble con MySQL, como la he­rra­mie­n­ta estándar de MySQL o apli­ca­cio­nes 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 co­n­tra­se­ña que co­n­fi­gu­ra­s­te con MYSQL_ROOT_PASSWORD.

Si todo funciona co­rre­c­ta­me­n­te, tendrás acceso a la consola de MariaDB, donde podrás ejecutar comandos SQL ha­bi­tua­les:

SHOW DATABASES;
sql

Verás una lista de las bases de datos pre­de­te­r­mi­na­das y ya podrás crear tus propias bases de datos o tablas.

Paso 5: asegurar datos pe­r­si­s­te­n­tes con volúmenes

Por defecto, los datos en un co­n­te­ne­dor son te­m­po­ra­les. Para co­n­se­r­var­los tras reinicios o cambios de co­n­te­ne­dor, 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 di­re­c­to­rio donde MariaDB guarda sus datos.

Puedes ver los volúmenes al­ma­ce­na­dos 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 co­n­fi­gu­ra­cio­nes más complejas es re­co­me­n­da­ble 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 pe­r­ma­ne­n­te, con al­ma­ce­na­mie­n­to pe­r­si­s­te­n­te y una base de datos pre­co­n­fi­gu­ra­da.

Paso 7: detener, iniciar y eliminar co­n­te­ne­do­res

La gestión de co­n­te­ne­do­res con Docker es muy sencilla. Puedes detener o reiniciar el co­n­te­ne­dor de MariaDB en cualquier momento sin perder datos, siempre que uses volúmenes.

Detener el co­n­te­ne­dor:

docker stop mariadb-container
bash

Iniciar el co­n­te­ne­dor:

docker start mariadb-container
bash

Eliminar el co­n­te­ne­dor:

docker rm mariadb-container
bash

Eliminar el co­n­te­ne­dor junto con su volumen:

docker rm -v mariadb-container
bash

Paso 8: reinicio au­to­má­ti­co del co­n­te­ne­dor

Para ase­gu­rar­te de que tu co­n­te­ne­dor de MariaDB se reinicie au­to­má­ti­ca­me­n­te tras un reinicio del sistema host, puedes es­ta­ble­cer 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 co­n­te­ne­dor se inicie au­to­má­ti­ca­me­n­te después de un reinicio del sistema, salvo que lo hayas detenido ma­nua­l­me­n­te.

Ir al menú principal