¿Sabes cómo se usa MySQL con Docker? En el mundo del desarrollo web y la tecnología, la gestión de bases de datos es una tarea crucial y constante. Tradicionalmente, instalar y configurar bases de datos podía ser un proceso tedioso y complicado. Hoy en día podemos simplificar y agilizar esta tarea mediante el uso de Docker, una herramienta que ha revolucionado la forma en la que desarrollamos y desplegamos aplicaciones.
¿Qué es Docker y por qué es tan popular?
Antes de entrar en el tema de MySQL con Docker, veamos qué es Docker.
Docker es una herramienta que permite la creación, distribución y ejecución de aplicaciones dentro de contenedores. Estos contenedores son entornos aislados y autónomos que incluyen todo lo necesario para que una aplicación funcione correctamente, incluidas las bibliotecas, dependencias y configuraciones. De esta forma, Docker garantiza que una aplicación se ejecute de manera consistente en cualquier entorno.
Levantando MySQL con Docker
Aunque pueda sonar obvio, antes de sumergirnos en el emocionante mundo de MySQL con Docker, necesitamos asegurarnos de tener Docker instalado en nuestra máquina host. La instalación es bastante sencilla y existen guías detalladas en el Docker Hub, que es el repositorio oficial de imágenes de Docker.
Una vez que tengamos Docker instalado, también podemos optar por instalar Docker Compose, una herramienta que nos permitirá definir y gestionar múltiples contenedores de Docker utilizando un archivo YAML. Con Docker Compose, podemos configurar y enlazar fácilmente diferentes servicios, lo que hace que el despliegue de aplicaciones más complejas sea un juego de niños.
Ahora que tenemos todo listo, es hora de entrar en materia sobre MySQL con Docker. El primer paso es obtener la imagen de MySQL desde el Docker Hub. Podemos hacerlo ejecutando el siguiente comando:
//MySQL con Docker
docker pull mysql
Con este comando, Docker descargará la imagen de MySQL desde el repositorio oficial y estará lista para ser utilizada.
Ejecutar el contenedor de MySQL en segundo plano
Una vez que tenemos la imagen de MySQL, podemos ejecutar un contenedor en segundo plano utilizando el siguiente comando:
//MySQL con Docker
docker run -d --name mi_base_de_datos -e MYSQL_ROOT_PASSWORD=mi_contraseña -p 3306:3306 mysql
En este comando, estamos ejecutando un contenedor a partir de la imagen de MySQL en segundo plano (-d
) y asignándole un nombre (--name
). Además, estamos configurando la contraseña del usuario root (-e MYSQL_ROOT_PASSWORD
) y redirigiendo el puerto 3306 del contenedor al puerto 3306 de nuestra máquina host (-p 3306:3306
).
Comunicando Docker con MySQL
Ahora que tenemos nuestro contenedor de MySQL en funcionamiento, podemos conectarnos a él utilizando cualquier cliente de MySQL. Podemos utilizar el cliente de línea de comandos, herramientas gráficas como phpMyAdmin o cualquier otro cliente de nuestra preferencia.
Para conectarnos al contenedor desde la línea de comandos, podemos usar el siguiente comando:
//MySQL con Docker
mysql -h 127.0.0.1 -P 3306 -u root -p
Una vez introducida la contraseña que configuramos al ejecutar el contenedor, estaremos dentro de la consola de MySQL y listos para administrar nuestra base de datos.
Persistencia de datos y Docker Compose
Una de las ventajas de utilizar Docker para gestionar nuestra base de datos es la facilidad para mantener la persistencia de los datos. Por defecto, los datos dentro de un contenedor son efímeros, lo que significa que se perderán cuando el contenedor se detenga o se elimine. Sin embargo, utilizando volúmenes en Docker o Docker Compose, podemos asegurarnos de que nuestros datos se mantengan incluso si el contenedor se recrea.
Con Docker Compose, podemos definir nuestra base de datos MySQL junto con otros servicios o aplicaciones que dependan de ella. De esta forma, podemos gestionar todo nuestro entorno de desarrollo con un solo archivo docker-compose.yml
.
//MySQL con Docker
version: '3'
services:
mysql:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: mi_contraseña
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
volumes:
mysql_data:
¡Sigue aprendiendo!
El uso de Docker para gestionar bases de datos, en particular MySQL, es una práctica que simplifica enormemente el desarrollo y el despliegue de aplicaciones.
Si eres un apasionado del desarrollo web y te gustaría sumergirte en el fascinante mundo de Docker y MySQL, te animamos a unirte al Desarrollo Web Full Stack Bootcamp de KeepCoding. En este bootcamp, aprenderás todas las habilidades necesarias para destacar en el sector IT, incluyendo el uso de Docker, bases de datos y mucho más. Al finalizar, estarás preparado para acceder a un mercado laboral con alta demanda de profesionales y disfrutar de salarios altos y estabilidad laboral. ¡No esperes más y cambia tu vida con KeepCoding!