Contenedor docker con MySQL
Configura un contenedor Docker con MySQL para gestionar bases de datos de forma eficiente y segura. Este tutorial te ofrece una guía paso a paso para la implementación y administración.
¿Qué es MySQL?
MySQL es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual GPL/Licencia comercial por Oracle Corporation y está considerada como la base datos open source más popular del mundo. Una de las más populares en general junto a Oracle y Microsoft SQL Server, sobre todo para entornos de desarrollo web.
Creando el contendor con docker-compose
Creamos un directorio para alojar el fichero. Por ejemplo, en mi caso.
mkdir /opt/mysql
Cambiamos al directorio creado y añadimos el fichero docker-compose.yml. Puedes crearlo con un editor de texto como nano o vim o descargarlo de aquí
version: "3.3"
services:
mysql:
container_name: mysql_container
restart: always
image: mysql/mysql-server:latest
volumes:
- /srv/mysql:/var/lib/mysql
- /srv/mysql/mysqlconf:/etc/mysql/conf.d
ports:
- "13306:3306"
environment:
MYSQL_ROOT_PASSWORD : 'passwordroot'
services : definición de contenedores, en este caso sólo “mysql” container_name: nombre para denominar el contenedor image : nombre de la imagen de dockerhub de mysql ports : referencia de los puertos externos con los internos del contenedor (Externo:Interno). Conectamos el puerto 13306 del servidor con el 3306 del contenedor. volumes : referencia de directorios externos con los internos del contenedor (Externo:Interno). Conectamos los directorios del contenedor indicados con los del servidor para poder acceder a la configuración sin tener que entrar en el contenedor. restart: “always”, siempre. passwordroot : No olvidar configurar el password del usuario root.
Crear y arrancar el contenedor con el siguiente comando:
docker-compose up -d
Listamos los contenedores docker y vemos que está arrancando y funcionando.
docker ps
Ahora comprobamos si podemos conectarnos a la consola de mysql del contenedor.
docker exec -it mysql_containername mysql -uroot -p
Si nos conecta en la consola de mysql, significa que está funcionando correctamente.
Si necesitamos realizar algún cambio en el fichero de configuración, nos dirigmos a la ruta del servidor /srv/mysql/mysqlconf que hemos indicado anteriormente. Y allí realizaremos los cambios.
Una vez realizados, reiniciamos el contenedor.
docker restart mysql_containername