SEO para Google

Cómo montar una Base de Datos MySql Persistida con Docker

Tener una base de datos local es decimonónico, en esta corta guía vas a aprender cómo montar una base de datos mysql con Docker que podrás usar para cualquier proyecto. Este tutorial sobre cómo montar una Base de Datos MySql Persistida con Docker sirve para versiones de Windows 10, Windows 11… pero casi todos los pasos servirían también para Linux o Mac.

Ventajas de montar una base de datos con Docker

No te voy a mentir, escribo esto para poder consultarlo yo mismo en el futuro. Desde hace unos meses uso Windows 11 y ya es la segunda vez este mes que se me corrompe la base de datos mysql que uso para varios proyectos, con el daño que eso conlleva, por eso estas son las ventajas de tener tus bases de datos con Docker:

  • Bases aisladas por proyectos
  • Posibilidad de emplear diferentes versiones si lo necesitas
  • Fácil de compartir con compañeros

Vamos a ello.

Paso a paso: montar una Base da Datos MySql Persistida con Docker

Si no tienes Docker instalado, instálalo. Hay mil tutoriales, por ahí, busca el que se adecúe a tu entorno y vuelve. BUSCAR EN GOOGLE

Esto es vergonzosamente sencillo, pero como todo, hay que saber montar una Base da Datos MySql Persistida con Docker para poder hacerlo.

Un poco de teoría

Cuando un contendor Docker se para, normalmente se borran todos los datos, en nuestro caso queremos evitar eso para poder usar nuestra base de datos mysql de la forma habitual.

Para lograr ese efecto, crearemos un volumen de docker que contrendrá los datos, un volumen, en esencia, nos permite vincular una carpeta del guest con una del host, así esos archivos no serán borrados al apagarse la máquina.

Y ya está, con esto podemos avanzar.

Creamos un volumen

En este paso vamos a crear un volumen de Docker que luego podremos relacionar con una ubicación física de la máquina host, se hace con el siguiente comando.

docker volume create mysql-db-data

Ahora si haces “docker volume ls” tendrás un volumen nuevo, el que has creado.

docker volume ls

Descargamos la imagen de mysql

Ahora tenemos que crear una carpeta para almacenar en la máquina host el contenido de la base de datos, en mi caso esa ruta será:

C:\Users\Fausto\data_mysql

Ahora levantamos una máquina mysql-db que nos traerá la última versión de mysql.
docker run -d -p 33060:3306 --name mysql-db -e MYSQL_ROOT_PASSWORD=secret --mount src=mysql-db-data,dst=//C/Users/Fausto/data_mysql mysql

Si te fijas en la ruta, por ser Windows 11, yo he tenido que modificar la ruta respecto a la origina, cambiando \ por /, quitando los : y añadiendo doble barra antes de C, quendando: “//C/Users/Fausto/data_mysq”

Y ya estaría.

Cómo usar mi base de datos mysql en Docker

Con cualquier cliente, por ejemplo mysql workbench, puedes conectarte a través del puerto 33060, que como ves, apunta al 3306, la contraseña en este caso es “secret” pero puedes poner la que quieras.

También puedes acceder con el CLI desde el control de Docker:

Deja una respuesta

Tu dirección de correo electrónico no será publicada.