Skonfiguruj serwer MySQL i phpMyAdmin z Dockerem

Skonfiguruj serwer MySQL i phpMyAdmin z Dockerem
W tym artykule pokażę Ci, jak używać Docker Compose, aby utworzyć kontener MySQL i uzyskać dostęp do PhpMyAdmin 5, internetowego interfejsu administratora MySQL. Pokażę również, jak uzyskać dostęp do serwera bazy danych MySQL działającego w kontenerze Docker z Datagrip IDE. Więc zacznijmy.

Wymagania:

Aby śledzić ten artykuł, musisz zainstalować Docker na swoim komputerze. Linuxhint ma wiele artykułów, które możesz śledzić, aby zainstalować Docker w żądanym dystrybucji Linux, jeśli jeszcze go nie zainstalował. Pamiętaj więc, aby sprawdzić Linuxhint.com na wypadek problemu z instalacją Dockera.

Instalowanie Docker Compose:

Możesz bardzo łatwo pobrać plik binarny Docker za pomocą następującego polecenia:

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

NOTATKA: kędzior nie może być zainstalowane w dystrybucji Linux. W takim przypadku możesz zainstalować Curl z następującym poleceniem:

Ubuntu/Debian/Linux Mint:

$ sudo apt instal curl -y

Centos/Rhel/Fedora:

$ sudo dnf instaluj curl -y

Raz Kompozycja dokera Plik binarny jest pobierany, uruchom następujące polecenie:

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

Teraz sprawdź, czy Kompozycja dokera Komenda działa w następujący sposób:

Wersja $ Docker-Compose

Powinien wydrukować informacje o wersji, jak pokazano na zrzucie ekranu poniżej.

Konfigurowanie Dockera komponuj dla projektu:

Teraz utwórz katalog projektu (powiedzmy ~/Docker/MySqlDev) Jak następuje:

$ mkdir -p ~/docker/mysqldev

Teraz przejdź do katalogu projektu ~/Docker/MySqlDev następująco:

$ CD ~/Docker/MySqlDev

Teraz stwórz Kompozycja dokera.Yaml Plik w katalogu projektu ~/Docker/MySqlDev i wpisz w następujących wierszach w Kompozycja dokera.Yaml plik.

Wersja: "3.7 "
Usługi:
mysql-server:
Zdjęcie: Mysql: 8.0.19
Uruchom ponownie: Zawsze
środowisko:
Mysql_root_password: Secret
wolumeny:
- mysql-data:/var/lib/mysql
Porty:
- „3306: 3306”
phpMyAdmin:
Zdjęcie: phpmyadmin/phpMyAdmin: 5.0.1
Uruchom ponownie: Zawsze
środowisko:
PMA_HOST: MySQL-Server
PMA_USER: root
PMA_PASSWORD: Secret
Porty:
- „8080: 80”
wolumeny:
mysql-data:

Kompozycja dokera.Yaml Plik powinien wyglądać w następujący sposób.

Tutaj stworzyłem 2 usługi MySQL-Server I phpMyAdmin.

MySQL-Server Usługa będzie uruchomiła Mysql: 8.0.19 Zdjęcie (z DockerHub) w kontenerze Docker.

phpMyAdmin Usługa będzie uruchomiła phpmyadmin/phpMyAdmin: 5.0.1 Zdjęcie (z Dockerhub) w innym kontenerze Docker.

W MySQL-Server usługa, Mysql_root_password Zmienna środowiskowa służy do ustawienia źródło Hasło MySQL.

W phpMyAdmin usługa, PMA_HOST, PMA_USER, PMA_PASSWORD Zmienne środowiskowe służą odpowiednio do ustawiania nazwy hosta MySQL, nazwy użytkownika i hasła, których phpMyAdmin użyje do połączenia z serwerem bazy danych MySQL działających jako MySQL-Server praca.

W MySQL-Server usługa, cała zawartość /var/lib/mysql katalog zostanie zapisany na stałe w mysql-data tom.

w MySQL-Server serwis, port kontenerowy 3306 (po prawej) jest odwzorowane na port hosta Docker 3306 (lewy).

w phpMyAdmin serwis, port kontenerowy 80 (po prawej) jest odwzorowane na port hosta Docker 8080 (lewy).

Uruchamianie usług MySQL Server i PhPMyAdmin:

Teraz, aby rozpocząć MySQL-Server I phpMyAdmin Usługi, uruchom następujące polecenie:

$ Docker -Compose Up -d

Usługi powinny rozpocząć się w tle.

Aby zobaczyć, jak mapowane są porty, uruchom następujące polecenie:

$ Docker-Compose Ps

Jak widać, dla MySQL-Server serwis, port hosta Docker 3306 jest odwzorowany na port TCP kontenera 3306.

Dla phpMyAdmin serwis, port hosta Docker 8080 jest odwzorowany na port TCP kontenera 80.

Dostęp do PhpMyAdmin 5 lub MySQL Server z innych komputerów:

Jeśli chcesz uzyskać dostęp do serwera bazy danych phpMyAdmin 5 lub mysql z innych komputerów w sieci, musisz znać adres IP swojego hosta Docker.

Aby znaleźć adres IP swojego hosta Dockera, uruchom następujące polecenie:

$ ip

W moim przypadku adres IP mojego hosta dokera 192.168.20.160. Będzie dla Ciebie inaczej. Więc upewnij się, że odtąd zastąp go swoim.

Dostęp do phpMyAdmin 5 z przeglądarki internetowej:

Aby uzyskać dostęp do phpMyAdmin 5, otwórz przeglądarkę internetową i odwiedź http: // localhost: 8080 z hosta Dockera lub http: // 192.168.20.160: 8080 od innych komputerów w Twojej sieci.

phpMyAdmin 5 należy załadować do przeglądarki internetowej.

Zobaczysz następujące ostrzeżenie. Kliknij Dowiedz się dlaczego.

Teraz kliknij Tworzyć.

A phpMyAdmin Baza danych powinna zostać utworzona, a ostrzeżenie powinno zniknąć.

Teraz możesz użyć phpMyAdmin do zarządzania bazami danych i tabel MySQL.

Dostęp do MySQL z Datagrip:

Możesz również uzyskać dostęp do swojego serwera bazy danych MySQL z Datagrip IDE lub dowolnych innych IDES SQL.

W przypadku DataGrip kliknij + z Bazy danych sekcja i przejdź do Źródło danych > Mysql.

Teraz wpisz 192.168.20.160 Jak Gospodarz, 3306 Jak Port, źródło Jak Użytkownik, sekret Jak Hasło a następnie kliknij Połączenie testowe.

Jeśli wszystko jest w porządku, powinieneś zobaczyć informacje o serwerze bazy danych mysql, jak pokazano na zrzucie ekranu poniżej.

Teraz kliknij OK.

Teraz powinieneś być w stanie zarządzać bazami danych i tabel MySQL z Datagrip.

Zatrzymanie usług MySQL Server i PhpMyAdmin:

Teraz, aby zatrzymać MySQL-Server I phpMyAdmin Usługi, uruchom następujące polecenie:

$ Docker-Compose Down

MySQL-Server I phpMyAdmin Usługi powinny zostać zatrzymane.

Oczyszczanie danych MySQL Server:

Jeśli chcesz usunąć wszystkie dane i ustawienia bazy danych mysql, musisz usunąć mysql-data tom.

Rzeczywista nazwa woluminu można znaleźć za pomocą następującego polecenia:

$ Docker Volume LS

Jak widać, głośność do usuwania jest mysqlDEV_MYSQL-DATA.

Możesz usunąć głośność mysqlDEV_MYSQL-DATA Z następującym poleceniem:

$ Docker Volume rm mysqlDev_mysql-data

Bibliografia:

[1] https: // hub.doker.com/_/mysql
[2] https: // hub.doker.com/r/phpMyAdmin/phpMyAdmin/