Instalacja Adminer
Instalacja
Adminer to lekki panel webowy do administracji bazami danych.
Założenia konfiguracyjne:
- Plik Compose znajduje się w
/srv/docker/compose/adminer - Adminer jest udostępniany wyłącznie lokalnie na
127.0.0.1:8080(dostęp przez tunel SSH) - Adminer łączy się z bazami wewnętrznie po sieci Dockera
internal - PostgreSQL i MariaDB muszą być podłączone do tej samej sieci
internal - Logi dostępne są przez
docker logs(bez osobnego katalogu logów)
Dostęp do sieci Docker
Wymagany dostęp do sieci internal
Aby komunikować się z innymi kontenerami, aplikacja wymaga dostępu do wewnętrznej sieci Docker internal.
Sieć internal służy do komunikacji Adminer z kontenerami bazodanowymi postgres i mariadb.
Tworzenie katalogów
Tworzymy katalog aplikacji:
sudo mkdir -p /srv/docker/compose/adminer
sudo chown -R "$USER:$USER" /srv/docker/compose/adminer
Konfiguracja Docker Compose
Przechodzimy do katalogu Compose:
cd /srv/docker/compose/adminer
Tworzymy i edytujemy plik compose.yaml:
micro compose.yaml
W pliku umieszczamy:
compose.yaml
services:
adminer:
image: adminer:latest
container_name: adminer
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
networks:
- internal
networks:
internal:
external: true
Zapisujemy plik i wychodzimy z edytora.
Uruchomienie kontenera
Uruchamiamy Adminer:
docker compose up -d
Sprawdzamy, czy kontener działa:
docker ps | grep adminer
Test (dostęp przez SSH tunnel)
Na komputerze lokalnym tworzymy tunel SSH:
ssh -L 8080:127.0.0.1:8080 USER@IP_SERWERA
W przeglądarce otwieramy:
http://localhost:8080
Połączenie z bazami danych
PostgreSQL:
System: PostgreSQL
Server: postgres
Port: 5432
User: postgres
Database: postgres
MariaDB / MySQL:
System: MySQL
Server: mariadb
Port: 3306
User: root
Podgląd logów
Podglądamy logi Adminer:
docker logs -f adminer
Uwagi utrzymaniowe
- Adminer nie przechowuje żadnych danych — kontener można bezpiecznie usuwać i odtwarzać
- Dostęp do UI jest ograniczony do localhosta (zalecane z punktu widzenia bezpieczeństwa)
- Kontenery bazodanowe muszą być osiągalne po nazwach serwisów (
postgres,mariadb) w sieciinternal - Do użytku produkcyjnego nie należy wystawiać Adminera publicznie