Ejemplo: MySQL y PHPMyAdmin con Docker
Este ejemplo muestra cómo ejecutar contenedores de MySQL
y PHPMyAdmin
que estén conectados entre sí para gestionar fácilmente una base de datos MySQL a través de una interfaz gráfica.
Pasos a Seguir:
-
Iniciar el Contenedor de MySQL:
Ejecuta el siguiente comando para iniciar un contenedor con MySQL:
docker run --name=db -p 3306:3306 -e MYSQL_ROOT_PASSWORD=secret-pw -d mysql:8.1
--name=db
: Asigna un nombre al contenedor (db
en este caso).-p 3306:3306
: Mapea el puerto 3306 del contenedor al puerto 3306 de tu máquina local.-e MYSQL_ROOT_PASSWORD=secret-pw
: Establece la contraseña para el usuario root de MySQL.-d
: Ejecuta el contenedor en segundo plano (detached mode).
-
Ver Logs del Contenedor MySQL:
Puedes revisar los logs del contenedor MySQL para asegurarte de que se está ejecutando correctamente:
docker logs db
-
Conectarse al Contenedor MySQL:
Para acceder al terminal del contenedor MySQL:
docker exec -it db bash
Una vez dentro del contenedor, puedes conectarte a MySQL:
mysql -u root -p
Introduce la contraseña que especificaste anteriormente (
secret-pw
). -
Salir del Contenedor:
Para salir de la terminal interactiva de MySQL, escribe
exit
. Luego, para salir del contenedor sin detenerlo, presionaCtrl+P
yCtrl+Q
. Esto te devolverá a tu terminal local sin detener el contenedor. -
Iniciar el Contenedor de PHPMyAdmin:
Ahora, inicia un contenedor de PHPMyAdmin y conéctalo al contenedor MySQL:
docker run -d --name=my-admin -p 82:80 --link db:db phpmyadmin:5.2.1
--name=my-admin
: Asigna un nombre al contenedor PHPMyAdmin.-p 82:80
: Mapea el puerto 80 del contenedor al puerto 82 de tu máquina local.--link db:db
: Conecta el contenedor PHPMyAdmin con el contenedor MySQL (db
).
-
Acceder a PHPMyAdmin:
Abre tu navegador web y dirígete a http://localhost:82/. Introduce las credenciales de MySQL para acceder a la interfaz gráfica de PHPMyAdmin y gestionar la base de datos.
-
Detener y Eliminar los Contenedores:
Una vez que hayas terminado de usar los contenedores, es importante detenerlos y eliminarlos para liberar recursos:
docker stop db my-admin
docker rm db my-admindocker stop
: Detiene los contenedores especificados.docker rm
: Elimina los contenedores detenidos.
Notas:
- Asegúrate de que los puertos que estás utilizando (3306 para MySQL y 82 para PHPMyAdmin) no estén en uso por otros servicios en tu máquina.
- PHPMyAdmin es una herramienta útil para gestionar bases de datos MySQL sin necesidad de utilizar la línea de comandos, especialmente en entornos de desarrollo.