Configurez un serveur MySQL et PhpMyAdmin avec Docker

Configurez un serveur MySQL et PhpMyAdmin avec Docker
Dans cet article, je vais vous montrer comment utiliser Docker Compose pour créer un conteneur MySQL et y accéder à l'aide de PhpMyAdmin 5, l'interface d'administration MySQL basée sur le Web. Je vais également vous montrer comment accéder au serveur de base de données MySQL en cours d'exécution dans un conteneur Docker à partir de Datagrip IDE. Alors, commençons.

Exigences:

Afin de suivre cet article, vous devez faire installer Docker sur votre ordinateur. Linuxhint a beaucoup d'articles que vous pouvez suivre pour installer Docker sur la distribution Linux souhaitée si vous ne l'avez pas déjà installé. Alors, assurez-vous de vérifier Linuxhint.com au cas où vous auriez du mal à installer Docker.

Installation de Docker Compose:

Vous pouvez télécharger très facilement Docker Compose Binary File avec la commande suivante:

$ 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

NOTE: boucle ne peut pas être installé sur votre distribution Linux. Si tel est le cas, vous pouvez installer Curl avec la commande suivante:

Ubuntu / Debian / Linux Mint:

$ sudo apt install curl -y

Centos / Rhel / Fedora:

$ sudo dnf installer curl -y

Une fois composer docker Le fichier binaire est téléchargé, exécutez la commande suivante:

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

Maintenant, vérifiez si composer docker La commande fonctionne comme suit:

$ docker-compose version

Il devrait imprimer les informations de version comme indiqué dans la capture d'écran ci-dessous.

Configuration de Docker Compose pour le projet:

Maintenant, créez un répertoire de projet (disons ~ / docker / mysqldev) comme suit:

$ mkdir -p ~ / docker / mysqldev

Maintenant, accédez au répertoire du projet ~ / docker / mysqldev comme suit:

$ cd ~ / docker / mysqldev

Maintenant, créez un composer docker.yaml dossier dans le répertoire du projet ~ / docker / mysqldev et tapez dans les lignes suivantes dans le composer docker.yaml déposer.

Version: "3.7"
prestations de service:
MySQL-Server:
Image: Mysql: 8.0.19
redémarrer: toujours
environnement:
Mysql_root_password: secret
Volumes:
- mysql-data: / var / lib / mysql
PORTS:
- "3306: 3306"
phpmyadmin:
Image: phpmyadmin / phpmyadmin: 5.0.1
redémarrer: toujours
environnement:
PMA_HOST: MySQL-Server
Pma_user: racine
Pma_password: secret
PORTS:
- "8080: 80"
Volumes:
MySql-Data:

Le composer docker.yaml Le fichier doit ressembler à ce qui suit.

Ici, j'ai créé 2 services mysql-server et phpmyadmin.

mysql-server Le service exécutera le mysql: 8.0.19 image (de dockerhub) dans un conteneur docker.

phpmyadmin Le service exécutera le phpmyadmin / phpmyadmin: 5.0.1 image (de dockerhub) dans un autre conteneur docker.

Dans mysql-server service, le Mysql_root_password La variable d'environnement est utilisée pour définir le racine Mot de passe de MySQL.

Dans phpmyadmin service, le PMA_HOST, PMA_USER, PMA_PASSWORD Les variables d'environnement sont utilisées pour définir le nom d'hôte MySQL, le nom d'utilisateur et le mot de passe respectivement que PhpMyAdmin utilisera pour se connecter au serveur de base de données MySQL en cours d'exécution en fonction de mysql-server service.

Dans mysql-server service, tout le contenu du / var / lib / mysql Le répertoire sera enregistré en permanence dans le Mysql-Data volume.

Dans le mysql-server Service, le port de conteneur 3306 (à droite) est mappé au port d'hôte Docker 3306 (gauche).

Dans le phpmyadmin Service, le port de conteneur 80 (à droite) est mappé au port d'hôte Docker 8080 (gauche).

Démarrage des services MySQL Server et PhpMyAdmin:

Maintenant, pour démarrer le mysql-server et phpmyadmin services, exécutez la commande suivante:

$ docker-compose up -d

Les services doivent commencer en arrière-plan.

Pour voir comment les ports sont mappés, exécutez la commande suivante:

$ docker-compose ps

Comme vous pouvez le voir, pour le mysql-server Service, le port hôte docker 3306 est mappé au port TCP à conteneur 3306.

Pour le phpmyadmin Service, le port hôte docker 8080 est mappé au port TCP à conteneur 80.

Accéder au serveur PhpMyAdmin 5 ou MySQL à partir d'autres ordinateurs:

Si vous souhaitez accéder à PHPMYADMIN 5 ou au serveur de base de données MySQL à partir d'autres ordinateurs de votre réseau, vous devez connaître l'adresse IP de votre hôte Docker.

Pour trouver l'adresse IP de votre hôte Docker, exécutez la commande suivante:

$ ip

Dans mon cas, l'adresse IP de mon hôte docker 192.168.20.160. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.

Accès à PhpMyAdmin 5 depuis le navigateur Web:

Pour accéder à PhpMyAdmin 5, ouvrez votre navigateur Web et visitez http: // localhost: 8080 de votre hôte docker ou http: // 192.168.20.160: 8080 D'autres ordinateurs de votre réseau.

phpmyadmin 5 doit être chargé dans votre navigateur Web.

Vous verrez l'avertissement suivant. Cliquer sur J'ai trouvé pourquoi.

Maintenant, cliquez sur Créer.

UN phpmyadmin la base de données doit être créée et l'avertissement doit disparaître.

Maintenant, vous pouvez utiliser PhpMyAdmin pour gérer vos bases de données et tables MySQL.

Accès à MySQL depuis DataGrip:

Vous pouvez également accéder à votre serveur de base de données MySQL à partir de Datagrip IDE ou de tout autre IDE SQL.

En cas de datagrip, cliquez sur + du Bases de données section et aller à La source de données > Mysql.

Maintenant, tapez 192.168.20.160 comme Héberger, 3306 comme Port, racine comme Utilisateur, secret comme Mot de passe puis cliquez sur Test de connexion.

Si tout va bien, vous devriez voir les informations du serveur de base de données MySQL comme indiqué dans la capture d'écran ci-dessous.

Maintenant, cliquez sur D'ACCORD.

Maintenant, vous devriez pouvoir gérer vos bases de données et tableaux MySQL à partir de DataGrip.

Arrêt des services MySQL Server et PhpMyAdmin:

Maintenant, pour arrêter le mysql-server et phpmyadmin services, exécutez la commande suivante:

$ docker-compose

Le mysql-server et phpmyadmin Les services doivent être arrêtés.

Nettoyage des données du serveur MySQL:

Si vous souhaitez supprimer toutes les données et paramètres de la base de données MySQL, vous devez supprimer Mysql-Data volume.

Vous pouvez trouver le nom réel du volume avec la commande suivante:

$ volume docker ls

Comme vous pouvez le voir, le volume à supprimer est mysqldev_mysql-data.

Vous pouvez supprimer le volume mysqldev_mysql-data avec la commande suivante:

$ volume docker rm mysqlldev_mysql-data

Les références:

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