Sett opp en MySQL -server og phpmyadmin med Docker

Sett opp en MySQL -server og phpmyadmin med Docker
I denne artikkelen skal jeg vise deg hvordan du bruker Docker-komponering for å lage en MySQL-beholder og få tilgang til den ved hjelp av phpmyadmin 5, det nettbaserte MySQL Admin-grensesnittet. Jeg vil også vise deg hvordan du får tilgang til MySQL -databaseserveren som kjører i en Docker -container fra Datagrip IDE. Så la oss komme i gang.

Krav:

For å følge denne artikkelen, må du ha Docker installert på datamaskinen din. Linuxhint har mange artikler som du kan følge for å installere Docker på ønsket Linux -distribusjon hvis du ikke har den installert allerede. Så husk å sjekke Linuxhint.com i tilfelle du har problemer med å installere docker.

Installere Docker Compose:

Du kan laste ned Docker Compose Binary File veldig enkelt med følgende kommando:

$ sudo curl -l "https: // github.com/docker/kompose/utgivelser/nedlasting/1.24.1/
Docker-Compose-$ (Uname -s)-$ (Uname -m) "-o/usr/local/bin/docker-compose

MERK: krøll kan ikke installeres på Linux -distribusjonen din. Hvis det er tilfelle, kan du installere Curl med følgende kommando:

Ubuntu/Debian/Linux Mint:

$ sudo apt install curl -y

Centos/RHEL/Fedora:

$ sudo dnf install curl -y

En gang Docker-Compose Binærfil lastes ned, kjør følgende kommando:

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

Nå, sjekk om Docker-Compose Kommandoen fungerer som følger:

$ Docker-Compose-versjon

Den skal skrive ut versjonsinformasjonen som vist på skjermdumpen nedenfor.

Sette opp Docker -komponering for prosjektet:

Lag nå en prosjektkatalog (la oss si ~/docker/mysqldev) følgende:

$ mkdir -p ~/docker/mysqldev

Naviger nå til prosjektkatalogen ~/docker/mysqldev følgende:

$ cd ~/docker/mysqldev

Nå, lage en Docker-Compose.Yaml fil i prosjektkatalogen ~/docker/mysqldev og skriv inn følgende linjer i Docker-Compose.Yaml fil.

Versjon: "3.7 "
tjenester:
mysql-server:
Bilde: MySQL: 8.0.19
Start på nytt: Alltid
miljø:
Mysql_root_password: hemmelighet
Volum:
- mysql-data:/var/lib/mysql
Porter:
- "3306: 3306"
phpmyadmin:
Bilde: phpmyadmin/phpmyadmin: 5.0.1
Start på nytt: Alltid
miljø:
PMA_HOST: mysql-server
PMA_USER: ROOT
PMA_Password: Hemmelighet
Porter:
- "8080: 80"
Volum:
mysql-data:

De Docker-Compose.Yaml filen skal se ut som følger.

Her har jeg opprettet to tjenester mysql-server og phpmyadmin.

mysql-server tjenesten vil kjøre MySQL: 8.0.19 Bilde (fra Dockerhub) i en Docker -beholder.

phpmyadmin tjenesten vil kjøre phpmyadmin/phpmyadmin: 5.0.1 Bilde (fra Dockerhub) i en annen Docker -container.

I mysql-server Service, The Mysql_root_password miljøvariabel brukes til å stille inn rot Passord for MySQL.

I phpmyadmin Service, The PMA_HOST, PMA_USER, PMA_PASSWORD Miljøvariabler brukes til å angi henholdsvis MySQL -vertsnavn, brukernavn og passord som phpmyAdmin vil bruke for å koble til MySQL -databaseserveren som kjører som mysql-server service.

I mysql-server service, alt innholdet i /var/lib/mysql Katalogen vil bli lagret permanent i mysql-data volum.

I mysql-server Service, containerporten 3306 (til høyre) er kartlagt til Docker -vertsporten 3306 (venstre).

I phpmyadmin Service, containerporten 80 (til høyre) er kartlagt til Docker -vertsporten 8080 (venstre).

Starter MySQL Server og PHPMYADMIN -tjenester:

Nå, for å starte mysql-server og phpmyadmin Tjenester, kjør følgende kommando:

$ docker -compose up -d

Tjenestene skal starte i bakgrunnen.

For å se hvordan portene er kartlagt, kjør følgende kommando:

$ Docker-Compose Ps

Som du kan se, for mysql-server Service, Docker Host Port 3306 er kartlagt til containeren TCP -port 3306.

For phpmyadmin Service, Docker Host Port 8080 er kartlagt til containeren TCP -port 80.

Få tilgang til PhpMyAdmin 5 eller MySQL Server fra andre datamaskiner:

Hvis du vil få tilgang til PHPMYADMIN 5 eller MySQL -databaseserver fra andre datamaskiner i nettverket ditt, må du kjenne IP -adressen til Docker -verten din.

For å finne IP -adressen til Docker -verten din, kjør følgende kommando:

$ ip

I mitt tilfelle er IP -adressen til Docker -verten min 192.168.20.160. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Få tilgang til phpmyadmin 5 fra nettleseren:

For å få tilgang til phpmyadmin 5, åpne nettleseren din og besøk http: // localhost: 8080 fra Docker -verten din eller http: // 192.168.20.160: 8080 fra andre datamaskiner i nettverket ditt.

phpmyadmin 5 skal lastes i nettleseren din.

Du vil se følgende advarsel. Klikk på Finn ut hvorfor.

Nå, klikk på Skape.

EN phpmyadmin databasen skal opprettes og advarselen skal være borte.

Nå kan du bruke phpmyadmin til å administrere MySQL -databaser og tabeller.

Få tilgang til MySQL fra Datagrip:

Du kan også få tilgang til MySQL -databaseserveren din fra Datagrip IDE eller andre SQL Ides.

I tilfelle av datagrip, klikk på + fra Databaser seksjon og gå til Datakilde > Mysql.

Nå, skriv inn 192.168.20.160 som Vert, 3306 som Havn, rot som Bruker, hemmelig som Passord Og klikk deretter på Testforbindelse.

Hvis alt er bra, bør du se MySQL -databaseserverinformasjonen som vist på skjermbildet nedenfor.

Nå, klikk på Ok.

Nå skal du kunne administrere MySQL -databaser og tabeller fra Datagrip.

Stopper MySQL Server og PhpmyAdmin Services:

Nå, for å stoppe mysql-server og phpmyadmin Tjenester, kjør følgende kommando:

$ Docker-Compose Down

De mysql-server og phpmyadmin Tjenester bør stoppes.

Rengjøring av MySQL Server -data:

Hvis du vil fjerne alle MySQL -databasedataene og innstillingene, må du fjerne mysql-data volum.

Du kan finne det faktiske navnet på volumet med følgende kommando:

$ docker volum ls

Som du kan se, er volumet du skal fjerne mysqldev_mysql-data.

Du kan fjerne volumet mysqldev_mysql-data med følgende kommando:

$ docker volum rm mysqldev_mysql-data

Referanser:

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