W tym artykule omówimy, jak zainstalować phpMyAdmin w kontenerze Docker, a także przyjrzymy się składni pliku docker-compose i przeprowadzimy instalację.
Instalacja Dockera
Aktualizujemy pakiety systemu operacyjnego.
apt update
Zainstalujemy niezbędne pakiety i dodamy nowe repozytorium:
apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Teraz zaktualizujemy pakiety z nowym repozytorium:
apt update
Teraz zainstalujemy samego Dockera.
apt-get install docker-ce docker-ce-cli containerd.io
Sprawdzamy wersję Dockera:
docker --version
Sprawdzimy status:
systemctl status docker
Jeśli nie uruchomił się, uruchamiamy go:
systemctl start docker
I dodajemy do autostartu.
systemctl enable docker
Zainstalujemy Docker-Compose
curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Ustawiamy prawa do uruchamiania.
chmod +x /usr/local/bin/docker-compose
Sprawdzamy, jak zainstalował się Docker-Compose:
docker-compose --version
Utworzymy plik *.yaml dla Docker-Compose.
Aby w przyszłości orientować się, gdzie i co mamy zainstalowane, utworzymy osobny folder dla tego projektu w katalogu /home i przejdziemy do niego.
mkdir /home/phpmyadmin && cd /home/phpmyadmin
Możesz również użyć innego katalogu do umieszczenia tego i innych projektów.
Skorzystamy z repozytorium, aby utworzyć plik docker-compose.yaml pod tym linkiem https://hub.docker.com/_/phpmyadmin
Tworzymy plik docker-compose.yaml lub docker-compose.yml,
vim docker-compose.yaml
I dodajemy do niego następujący kod:
version: '3.1'
services:
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 8090:80
environment:
- PMA_ARBITRARY=1
Gdzie:
phpmyadmin: nazwa Twojego kontenera;
image: phpmyadmin: obraz, z którego zostanie uruchomiony phpmyadmin
8090:80 - port 8090, który będziemy używać do połączenia z phpmyadmin
restart:always - wskazuje, że kontener zostanie ponownie uruchomiony w przypadku awarii lub ponownego uruchomienia serwera
PMA_ARBITRARY=1 - wskazuje, że możliwe jest połączenie z dowolnym serwerem bazy danych (Jak powiązać z konkretnym serwerem panel phpmyadmin, można zapoznać się w tym artykuł)
Uruchamiamy nasz skrypt (w tym celu musimy znajdować się w katalogu, w którym utworzono nasz plik. W tym przypadku jest to /home/phpmyadmin):
docker-compose up -d
Czekamy na pobranie obrazów i uruchomienie.
Sprawdzamy:
docker-compose ps
lub
docker ps
Aby zobaczyć logi, użyj polecenia
docker logs -f phpmyadmin
Można również wykonać instalację tylko w dockerze:
docker run -d --restart always --name phpmyadmin -e PMA_ARBITRARY=1 -p 8090:80 phpmyadmin
Aby połączyć się z phpmyadmin — otwórz przeglądarkę i przejdź pod adres — http://YOUR_IP_SERVER:8090/
Teraz możemy połączyć serwer bazy danych.
W polu Server wpisujemy IP serwera bazy danych, w polu Username - użytkownika (w tym przypadku to root), w polu Password - hasło użytkownika root serwera bazy danych.
Jeśli jeszcze nie masz zainstalowanego serwera bazy danych w Dockerze, to w artykule Jak zainstalować MariaDB w Docker omówimy, jak to zrobić, i zobaczymy, jak uruchomić ten serwer bazy danych razem z phpMyAdmin.
Proponujemy również zapoznać się z innymi przydatnymi artykułami: