Contenedor docker con MySQL

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