Imposta un server MySQL e PhpMyAdmin con Docker

Imposta un server MySQL e PhpMyAdmin con Docker
In questo articolo, ti mostrerò come utilizzare Docker Compose per creare un contenitore MySQL e accedervi usando PhpMyAdmin 5, l'interfaccia di amministrazione MySQL basata sul Web. Ti mostrerò anche come accedere al server di database MySQL in esecuzione in un contenitore Docker da DataGrip IDE. Quindi iniziamo.

Requisiti:

Per seguire questo articolo, è necessario installare Docker sul tuo computer. Linuxhint ha molti articoli che puoi seguire per installare Docker sulla distribuzione di Linux desiderata se non lo hai già installato. Quindi, assicurati di controllare Linuxhint.com nel caso in cui tu abbia problemi a installare Docker.

Installazione di Docker Compositura:

È possibile scaricare il file binario di Docker Composition molto facilmente con il seguente comando:

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

NOTA: arricciare potrebbe non essere installato sulla distribuzione di Linux. In questo caso, è possibile installare Curl con il seguente comando:

Ubuntu/Debian/Linux Mint:

$ sudo APT Installa Curl -y

CentOS/RHEL/Fedora:

$ sudo dnf installa curl -y

Una volta docker-compose Il file binario viene scaricato, eseguire il seguente comando:

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

Ora, controlla se docker-compose Il comando funziona come segue:

$ Docker-compose versione

Dovrebbe stampare le informazioni sulla versione come mostrato nello screenshot seguente.

Impostazione di Docker Componomy per il progetto:

Ora, crea una directory di progetto (diciamo ~/docker/mysqldev) come segue:

$ mkdir -p ~/docker/mysqldev

Ora, vai alla directory del progetto ~/docker/mysqldev come segue:

$ cd ~/docker/mysqldev

Ora crea un file docker-compose.Yaml File nella directory del progetto ~/docker/mysqldev e digitare le seguenti righe in docker-compose.Yaml file.

Versione: "3.7 "
Servizi:
mysql-server:
Immagine: Mysql: 8.0.19
Riavvia: sempre
ambiente:
Mysql_root_password: segreto
Volumi:
- mysql-data:/var/lib/mysql
Porte:
- "3306: 3306"
phpmyadmin:
Immagine: PhpMyAdmin/PhpmyAdmin: 5.0.1
Riavvia: sempre
ambiente:
PMA_HOST: Mysql-Server
Pma_user: root
PMA_Password: segreto
Porte:
- "8080: 80"
Volumi:
mysql-data:

IL docker-compose.Yaml Il file dovrebbe apparire come segue.

Qui, ho creato 2 servizi mysql-server E phpmyadmin.

mysql-server Il servizio eseguirà il Mysql: 8.0.19 Immagine (da Dockerhub) in un contenitore Docker.

phpmyadmin Il servizio eseguirà il phpmyadmin/phpmyadmin: 5.0.1 Immagine (da Dockerhub) in un altro contenitore Docker.

In mysql-server servizio, il Mysql_root_password La variabile di ambiente viene utilizzata per impostare il radice Password di Mysql.

In phpmyadmin servizio, il Pma_host, pma_user, pma_password Le variabili di ambiente vengono utilizzate per impostare rispettivamente il nome host, il nome utente e la password MySQL che PhpMyAdmin utilizzerà per connettersi al server di database MySQL in esecuzione come mysql-server servizio.

In mysql-server servizio, tutti i contenuti del /var/lib/mysql La directory verrà salvata in modo permanente nel mysql-data volume.

Nel mysql-server Servizio, la porta del contenitore 3306 (a destra) è mappato alla porta host Docker 3306 (Sinistra).

Nel phpmyadmin Servizio, la porta del contenitore 80 (a destra) è mappato alla porta host Docker 8080 (Sinistra).

Avvio di MySQL Server e PhpMyAdmin Services:

Ora, per iniziare il mysql-server E phpmyadmin Servizi, esegui il seguente comando:

$ Docker -Opse Up -D

I servizi dovrebbero iniziare in background.

Per vedere come sono mappate le porte, eseguire il seguente comando:

$ docker-compose ps

Come puoi vedere, per il mysql-server Servizio, la porta host Docker 3306 è mappato alla porta TCP del contenitore 3306.

Per il phpmyadmin Servizio, la porta host Docker 8080 è mappato alla porta TCP del contenitore 80.

Accesso a PhpMyAdmin 5 o MySQL Server da altri computer:

Se si desidera accedere al server di database PhpMyAdmin 5 o MySQL da altri computer sulla tua rete, è necessario conoscere l'indirizzo IP del tuo host Docker.

Per trovare l'indirizzo IP dell'host Docker, eseguire il seguente comando:

$ ip

Nel mio caso, l'indirizzo IP del mio host Docker 192.168.20.160. Sarà diverso per te. Quindi, assicurati di sostituirlo con il tuo da ora in poi.

Accesso a PhpMyAdmin 5 dal browser Web:

Per accedere a PhpMyAdmin 5, apri il tuo browser Web e visita http: // localhost: 8080 dal tuo host Docker o http: // 192.168.20.160: 8080 da altri computer sulla tua rete.

PhpMyadmin 5 dovrebbe essere caricato nel browser web.

Vedrai il seguente avvertimento. Clicca su Scopri perché.

Ora, fai clic su Creare.

UN phpmyadmin Il database dovrebbe essere creato e l'avvertimento dovrebbe essere sparito.

Ora puoi usare PhpMyAdmin per gestire i tuoi database e tabelle MySQL.

Accesso a MySQL da DataGrip:

Puoi anche accedere al tuo server di database MySQL da DataGrip IDE o da qualsiasi altro IDE SQL.

In caso di DataGrip, fare clic su + dal Banche dati sezione e andare a Fonte di dati > Mysql.

Ora, digita 192.168.20.160 COME Ospite, 3306 COME Porta, radice COME Utente, segreto COME Parola d'ordine e poi fare clic su Connessione di prova.

Se tutto va bene, dovresti vedere le informazioni sul server del database MySQL come mostrato nello screenshot seguente.

Ora, fai clic su OK.

Ora dovresti essere in grado di gestire i tuoi database e tabelle MySQL da DataGrip.

STOPPING MYSQL Server e PhpMyAdmin Services:

Ora, per fermare il mysql-server E phpmyadmin Servizi, esegui il seguente comando:

$ Docker-compone

IL mysql-server E phpmyadmin I servizi dovrebbero essere fermati.

Pulizia dei dati del server MySQL:

Se si desidera rimuovere tutti i dati e le impostazioni del database MySQL, è necessario rimuovere il mysql-data volume.

Puoi trovare il nome effettivo del volume con il seguente comando:

$ Docker Volume LS

Come puoi vedere, il volume da rimuovere è mysqldev_mysql-data.

Puoi rimuovere il volume mysqldev_mysql-data con il seguente comando:

$ Docker Volume rm mysqldev_mysql-data

Riferimenti:

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