Obtener la imagen de MySQL 5.7
El primer paso consiste en descargar la imagen oficial de MySQL 5.7 desde Docker Hub:
docker pull mysql:5.7
Preparar directorio para almacenamiento persistente
Para asegurar que los datos de la base de datos se mantengan incluso después de detener el contenedor, crea un directorio en tu sistema anfitrión:
mkdir -p /datos/bd/mysql57
Ejecutar el contenedor de MySQL
Inicia un nuevo contenedor con la configuración necesaria:
docker run -p 3307:3306 \
--name servidor_mysql \
-e MYSQL_ROOT_PASSWORD=contraseña_segura \
-v /datos/bd/mysql57:/var/lib/mysql \
-d mysql:5.7
Descripción de parámetros:
-p 3307:3306: Mapea el puerto 3307 del host al puerto 3306 del contenedor.--name servidor_mysql: Asigna un nombre identificativo al contenedor.-e MYSQL_ROOT_PASSWORD=contraseña_segura: Establece la contraceña para el usuario root de MySQL.-v /datos/bd/mysql57:/var/lib/mysql: Monta el directorio local en la ruta de datos de MySQL para persistencia.-d mysql:5.7: Ejecuta el contenedor en modo desvinculado (background).
Verificar el estado del contenedor
Comprueba que el contenedor se está ejecutando correcatmente:
docker ps
Si todo funciona correctamente, deberías ver una salida similar a esta:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f1e2d3c4b5a6 mysql:5.7 "docker-entrypoint.s…" 30 seconds ago Up 20 seconds 0.0.0.0:3307->3306/tcp servidor_mysql
Acceder al contenedor
Para interactuar con el sistema dentro del contenedor, utiliza:
docker exec -it servidor_mysql bash
Una vez dentro del entorno del contenedor, inicia sesión en MySQL:
mysql -u root -p
Ingresa la contraseña que configuraste previamente para acceder a la consola de MySQL.
Habilitar conexiones remotas (opcional)
Si necesitas permitir el acceso desde fuera del contenedor, sigue estos pasos:
- Dentro de la consola MySQL, ejecuta:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'contraseña_segura';
FLUSH PRIVILEGES;
- Asegúrate de que tu firewall permita conexiones en el puerto 3307.
Conexión desde clientes externos
Puedes conectar cualquire cliente MySQL (como DBeaver, MySQL Workbench, etc.) a la dirección IP de tu servidor en el puerto 3307, utilizando como credenciales:
- Usuario: root
- Contraseña: contraseña_segura