Configure un servidor mysql y phpmyadmin con Docker

Configure 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 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.

Requisitos:

Para seguir este artículo, debe tener instalado Docker en su computadora. Linuxhint tiene muchos artículos que puede seguir para instalar Docker en su distribución de Linux deseada si aún no lo tiene instalado. Entonces, 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 Docker Compose muy fácilmente con el siguiente comando:

$ sudo curl -l "https: // github.com/docker/compose/comunes/descargar/1.24.1/
Docker-Compose-$ (uname -s)-$ (uname -m) "-o/usr/local/bin/docker-composa

NOTA: rizo No se puede instalar en su distribución de Linux. Si ese es el caso, puede instalar Curl con el siguiente comando:

Ubuntu/Debian/Linux Mint:

$ sudo apt instalación curl -y

Centos/Rhel/Fedora:

$ sudo dnf instalación curl -y

Una vez compuesto de acopolador El archivo binario se descarga, ejecute el siguiente comando:

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

Ahora, verifique si compuesto de acopolador El comando está funcionando de la siguiente manera:

$ Docker-Compose Version

Debe 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, navegue al directorio del proyecto ~/docker/mysqldev como sigue:

$ cd ~/docker/mysqldev

Ahora, crea un compuesto de acopolador.yaml Archivo en el directorio del proyecto ~/docker/mysqldev y escriba las siguientes líneas en el compuesto de acopolador.yaml archivo.

Versión: "3.7 "
servicios:
mysql-server:
Imagen: MySQL: 8.0.19
reiniciar: siempre
ambiente:
Mysql_root_password: secreto
Volúmenes:
- mysql-data:/var/lib/mysql
Puertos:
- "3306: 3306"
phpmyadmin:
Imagen: phpmyadmin/phpmyadmin: 5.0.1
reiniciar: siempre
ambiente:
PMA_HOST: mysql-server
PMA_USER: raíz
PMA_Password: secreto
Puertos:
- "8080: 80"
Volúmenes:
Data mysql:

El compuesto de acopolador.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 Docker.

phpmyadmin el servicio ejecutará el phpmyadmin/phpmyadmin: 5.0.1 Imagen (de Dockerhub) en otro contenedor 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 MySQL, el nombre de usuario y la contraseña, respectivamente, que PhPMyadmin usará para conectarse al servidor de base de datos MySQL que se ejecuta como servidor mysql servicio.

En servidor mysql servicio, todo el contenido del /var/lib/mysql El directorio se guardará permanentemente en el mysql-data volumen.

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

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

Inicio de servicios de MySQL Server y PhPMyAdmin:

Ahora, para comenzar el servidor mysql y phpmyadmin Servicios, 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 anfitrión Docker 3306 se asigna al puerto TCP del contenedor 3306.

Para el phpmyadmin Servicio, el puerto de anfitrión Docker 8080 se asigna al puerto TCP del contenedor 80.

Acceder al servidor PhPMyadmin 5 o MySQL desde otras computadoras:

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

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

$ IP

En mi caso, la dirección IP de mi host de Docker 192.168.20.160. Será diferente para ti. Entonces, asegúrese de reemplazarlo con el tuyo de ahora en adelante.

Acceso a PhPMyadmin 5 desde el navegador web:

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

PhpMyadmin 5 debe cargarse en su navegador web.

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

Ahora, haga clic en Crear.

A phpmyadmin Se debe crear una base de datos y la advertencia debe desaparecer.

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

Acceder a MySQL desde DataGrip:

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

En caso de data de referencia, haga clic en + desde el Bases de datos sección y ir 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 DE ACUERDO.

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

Detener los servicios MySQL Server y PhPMyAdmin:

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

$ Docker-Compose Down

El servidor mysql y phpmyadmin Los servicios deben detenerse.

Limpiar los datos del servidor MySQL:

Si desea eliminar todos los datos y configuraciones de la base de datos MySQL, debe eliminar el mysql-data volumen.

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

$ Docker Volumen LS

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

Puedes eliminar el volumen mysqldev_mysql-data Con el siguiente comando:

$ Docker Volumen RM mySqlDev_mysql-data

Referencias:

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