Estibador

Configurar un servidor MySQL y phpMyAdmin con Docker

Configurar un servidor MySQL y phpMyAdmin con Docker
En este artículo, le mostraré cómo usar Docker Compose para crear un contenedor MySQL y acceder a él usando phpMyAdmin 5, la interfaz de administración de MySQL basada en la web. También le mostraré cómo acceder al servidor de base de datos MySQL que se ejecuta en un contenedor Docker desde DataGrip IDE. Entonces empecemos.

Requerimientos:

Para seguir este artículo, debe tener Docker instalado en su computadora. LinuxHint tiene muchos artículos que puede seguir para instalar Docker en la distribución de Linux que desee si aún no lo tiene instalado. Por lo tanto, asegúrese de verificar LinuxHint.com en caso de que tenga problemas para instalar Docker.

Instalación de Docker Compose:

Puede descargar el archivo binario de Docker Compose muy fácilmente con el siguiente comando:

$ sudo curl -L "https: // github.com / docker / compose / releases / download / 1.24.1 /
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

NOTA: rizo puede que no esté instalado en su distribución de Linux. Si ese es el caso, puede instalar curl con el siguiente comando:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

CentOS / RHEL / Fedora:

$ sudo dnf install curl -y

Una vez docker-compose descargado el archivo binario, ejecute el siguiente comando:

$ sudo chmod + x / usr / local / bin / docker-compose

Ahora, compruebe si docker-compose El comando funciona de la siguiente manera:

$ docker-compose versión

Debería imprimir la información de la versión como se muestra en la captura de pantalla a continuación.

Configuración de Docker Compose para el proyecto:

Ahora, cree un directorio de proyecto (digamos ~ / docker / mysqldev) como sigue:

$ mkdir -p ~ / docker / mysqldev

Ahora, navega hasta el directorio del proyecto ~ / docker / mysqldev como sigue:

$ cd ~ / docker / mysqldev

Ahora, crea un docker-compose.yaml archivo en el directorio del proyecto ~ / docker / mysqldev y escriba las siguientes líneas en el docker-compose.yaml expediente.

versión: "3.7 "
servicios:
servidor mysql:
imagen: mysql: 8.0.19
reiniciar: siempre
ambiente:
MYSQL_ROOT_PASSWORD: secreto
volúmenes:
- mysql-datos: / var / lib / mysql
puertos:
- "3306: 3306"
phpmyadmin:
imagen: phpmyadmin / phpmyadmin: 5.0.1
reiniciar: siempre
ambiente:
PMA_HOST: servidor mysql
PMA_USER: root
PMA_PASSWORD: secreto
puertos:
- "8080: 80"
volúmenes:
mysql-datos:

La docker-compose.yaml el archivo debe verse de la siguiente manera.

Aquí, he creado 2 servicios servidor mysql y phpmyadmin.

servidor mysql el servicio ejecutará el mysql: 8.0.19 imagen (de DockerHub) en un contenedor de Docker.

phpmyadmin el servicio ejecutará el phpmyadmin / phpmyadmin: 5.0.1 imagen (de DockerHub) en otro contenedor de Docker.

En servidor mysql servicio, el MYSQL_ROOT_PASSWORD La variable de entorno se utiliza para establecer el raíz contraseña de MySQL.

En phpmyadmin servicio, el PMA_HOST, PMA_USER, PMA_PASSWORD Las variables de entorno se utilizan para establecer el nombre de host de MySQL, el nombre de usuario y la contraseña, respectivamente, que phpMyAdmin utilizará para conectarse al servidor de base de datos MySQL que se ejecuta como servidor mysql Servicio.

En servidor mysql servicio, todos los contenidos del / var / lib / mysql El directorio se guardará permanentemente en el mysql-datos volumen.

En el servidor mysql servicio, el puerto de contenedores 3306 (derecha) se asigna al puerto de host de Docker 3306 (izquierda).

En el phpmyadmin servicio, el puerto de contenedores 80 (derecha) se asigna al puerto de host de Docker 8080 (izquierda).

Inicio del servidor MySQL y los servicios phpMyAdmin:

Ahora, para comenzar el servidor mysql y phpmyadmin services, ejecute el siguiente comando:

$ docker-compose up -d

Los servicios deben comenzar en segundo plano.

Para ver cómo se asignan los puertos, ejecute el siguiente comando:

$ docker-compose ps

Como puede ver, para el servidor mysql servicio, el puerto de host de Docker 3306 se asigna al puerto TCP del contenedor 3306.

Para el phpmyadmin servicio, el puerto de host de Docker 8080 se asigna al puerto TCP del contenedor 80.

Accediendo al servidor phpMyAdmin 5 o MySQL desde otras computadoras:

Si desea acceder al servidor de base de datos phpMyAdmin 5 o MySQL desde otras computadoras en su red, debe conocer la dirección IP de su host Docker.

Para encontrar la dirección IP de su host Docker, ejecute el siguiente comando:

$ ip

En mi caso, la dirección IP de mi host Docker 192.168.20.160. Será diferente para ti. Por lo tanto, asegúrese de reemplazarlo por el suyo a partir de ahora.

Accediendo a phpMyAdmin 5 desde el navegador web:

Para acceder a phpMyAdmin 5, abra su navegador web y visite http: // localhost: 8080 desde su host Docker o http: // 192.168.20.160: 8080 de otras computadoras en su red.

phpMyAdmin 5 debe cargarse en su navegador web.

Verá la siguiente advertencia. Haga clic en Averigua porque.

Ahora, haga clic en Crear.

A phpmyadmin la base de datos debe crearse y la advertencia debe desaparecer.

Ahora, puede usar phpMyAdmin para administrar sus bases de datos y tablas MySQL.

Accediendo a MySQL desde DataGrip:

También puede acceder a su servidor de base de datos MySQL desde DataGrip IDE o cualquier otro IDE de SQL.

En el caso de DataGrip, haga clic en + desde el Bases de datos sección y ve a Fuente de datos > MySQL.

Ahora, escriba 192.168.20.160 como Anfitrión, 3306 como Puerto, raíz como Usuario, secreto como Contraseña y luego haga clic en Conexión de prueba.

Si todo está bien, debería ver la información del servidor de la base de datos MySQL como se muestra en la captura de pantalla a continuación.

Ahora, haga clic en OK.

Ahora, debería poder administrar sus bases de datos y tablas MySQL desde DataGrip.

Deteniendo MySQL Server y phpMyAdmin Services:

Ahora, para detener el servidor mysql y phpmyadmin services, ejecute el siguiente comando:

$ docker-compose abajo

La servidor mysql y phpmyadmin los servicios deben detenerse.

Limpieza de datos del servidor MySQL:

Si desea eliminar todos los datos y la configuración de la base de datos MySQL, debe eliminar el mysql-datos volumen.

Puede encontrar el nombre real del volumen con el siguiente comando:

$ docker volume ls

Como puede ver, el volumen a eliminar es mysqldev_mysql-data.

Puedes quitar el volumen mysqldev_mysql-data con el siguiente comando:

$ docker volumen rm mysqldev_mysql-data

Referencias:

[1] https: // hub.estibador.com / _ / mysql
[2] https: // hub.estibador.com / r / phpmyadmin / phpmyadmin /

Cómo usar GameConqueror Cheat Engine en Linux
El artículo cubre una guía sobre el uso del motor de trucos GameConqueror en Linux. Muchos usuarios que juegan juegos en Windows a menudo usan la apli...
Los mejores emuladores de consola de juegos para Linux
Este artículo enumerará el software de emulación de consola de juegos más popular disponible para Linux. La emulación es una capa de compatibilidad de...
Las mejores distribuciones de Linux para juegos en 2021
El sistema operativo Linux ha recorrido un largo camino desde su apariencia original, simple y basada en servidor. Este sistema operativo ha mejorado ...