Para usar Docker y docker-compose, necesitas tenerlos instalados en tu equipo. Si no los tienes, puedes seguir las instrucciones del sitio web de Docker para instalarlos.
Descarga la imagen de Docker de MariaDB
Primero, necesitamos descargar la imagen de MariaDB desde Docker Hub. Esta imagen contiene todo lo necesario para ejecutar MariaDB.
docker pull mariadb:latest
Este comando descargará la versión más reciente de la imagen de MariaDB. Si lo necesitas, puedes especificar una versión en particular:
docker pull mariadb:10.5
Crea una red de Docker (opcional)
Crear una red personalizada permite una mejor comunicación entre contenedores. Este paso es opcional, pero se recomienda para configuraciones más complejas con varios contenedores.
docker network create mariadb_network
Ejecuta un contenedor de MariaDB
Ahora, ejecutemos un contenedor de MariaDB con la imagen que acabamos de descargar. Vamos a mapear un puerto local al puerto del contenedor y configurar algunas variables de entorno para la contraseña de root y el nombre de la base de datos.
docker run --name mariadb-container -d \
--network mariadb_network \
-e MYSQL_ROOT_PASSWORD=my-secret-pw \
-e MYSQL_DATABASE=mydatabase \
-p 3306:3306 \
mariadb:latest
- –name mariadb-container: le asigna un nombre al contenedor para identificarlo fácilmente.
- -d: ejecuta el contenedor en modo desacoplado (detached).
- –network mariadb_network: conecta el contenedor a la red personalizada.
- -e MYSQL_ROOT_PASSWORD=my-secret-pw: establece la contraseña de root de MariaDB.
- -e MYSQL_DATABASE=mydatabase: crea una base de datos llamada mydatabase.
- -p 3306:3306: mapea el puerto 3306 del host al puerto 3306 del contenedor.
Verifica que el contenedor de MariaDB esté en ejecución
Usa el siguiente comando para comprobar si el contenedor de MariaDB está en ejecución:
docker ps
Salida esperada:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
abc123def456 mariadb:latest "docker-entrypoint.s…" 5 seconds ago Up 5 seconds 0.0.0.0:3306->3306/tcp mariadb-container
Conéctate al contenedor de MariaDB
Ahora que el contenedor de MariaDB está en ejecución, puedes conectarte a él con un cliente de MySQL. Si tienes el cliente de MySQL instalado localmente, puedes conectarte con:
mysql -h 127.0.0.1 -P 3306 -u root -p
Después de ingresar la contraseña de root (my-secret-pw), deberías estar conectado a tu instancia de MariaDB.
Usa Docker Compose
Docker Compose puede administrar configuraciones con varios contenedores mediante un archivo de configuración sencillo. Así puedes configurar MariaDB con Docker Compose:
Crea un archivo docker-compose.yml
Crea un archivo docker-compose.yml en el directorio raíz de tu proyecto. Este archivo definirá los contenedores que quieres ejecutar como parte de tu entorno de desarrollo.
version: '3.1'
services:
mariadb:
image: mariadb:latest
container_name: mariadb-compose
environment:
MYSQL_ROOT_PASSWORD: my-secret-pw
MYSQL_DATABASE: mydatabase
ports:
- "3306:3306"
networks:
- mariadb_network
networks:
mariadb_network:
driver: bridge
En este ejemplo, usamos la imagen mariadb:latest y configuramos varias variables de entorno para la base de datos. También exponemos el puerto predeterminado de MariaDB (3306) para poder conectarnos a la base de datos desde nuestra aplicación.
Ejecuta Docker Compose para iniciar el contenedor:
docker-compose up -d
Salida esperada:
Creating network "projectname_mariadb_network" with driver "bridge"
Creating mariadb-compose ... done
Este comando descargará las imágenes necesarias e iniciará los contenedores en segundo plano. Ejecútalo sin -d para iniciar el contenedor en primer plano. Puedes usar el siguiente comando para ver el estado de los contenedores:
docker-compose ps
Conéctate a MariaDB con Beekeeper Studio
Descarga Beekeeper Studio (gratis) >
Beekeeper Studio es un editor SQL de código abierto compatible con MariaDB. Así puedes conectarte a tu instancia de MariaDB en Docker usando Beekeeper Studio:
- Abre Beekeeper Studio y haz clic en
New Connection. - Selecciona MariaDB como tipo de conexión.
- Ingresa los siguientes datos de conexión:
- Host: 127.0.0.1
- Puerto: 3306
- Usuario: root
- Contraseña: my-secret-pw
- Base de datos: mydatabase (opcional)
- Haz clic en
Connectpara establecer la conexión.
Tendrás una interfaz agradable que puedes usar para editar y consultar tu base de datos MariaDB:
Administra tu entorno de desarrollo
Para detener el contenedor de MariaDB:
docker stop mariadb-container
Para volver a iniciar el contenedor:
docker start mariadb-container
Para eliminar el contenedor:
docker rm -f mariadb-container
Conclusión
Configurar un entorno de desarrollo de MariaDB con Docker te da una configuración robusta, fácil de administrar y replicar. Usar Docker Compose añade escalabilidad, lo que lo convierte en una excelente opción tanto para proyectos pequeños como para equipos de desarrollo más grandes.
Otros artículos que te pueden gustar:
Beekeeper Studio es una GUI para MariaDB gratuita y de código abierto
Beekeeper Studio es la mejor herramienta que he encontrado para administrar MariaDB. Es versátil, fácil de usar y ofrece muchas opciones geniales. ¡Es una joya! ¡Felicidades al equipo de desarrollo! - Nick
Beekeeper Studio es un cliente de MariaDB rápido, intuitivo y fácil de usar. También es compatible con muchísimas otras bases de datos y funciona de maravilla en Windows, Mac y Linux.
Lo que dicen los usuarios de MariaDB sobre Beekeeper Studio
Siempre usé HeidiSQL porque es lo que viene con MariaDB (y es gratis), pero siempre me frustró el autocompletado lento o inexistente y tener que usar mucho el mouse. BeeKeeper resuelve esas frustraciones. El formato JSON de los datos de las tablas es súper práctico.
En mi puesto me encargo de todo el código legacy y del código nuevo, usando MSSQL/Mariadb/Oracle/Postgres y sqlite. Creo que por fin encontré la herramienta que cubre todas mis necesidades en un solo lugar.