MariaDB - phpMyAdmin

Link Official Image phpmyadmin: https://hub.docker.com/_/phpmyadmin

Link Old Image phpmyadmin/phpmyadmin: https://hub.docker.com/r/phpmyadmin/phpmyadmin

Verschiedene phpMyAdmin Images - auch als Offizielles Image!

Verschiedene phpMyAdmin Images - auch als Offizielles Image!

In 2024 basiert das Official Image auf zwei anderen Basisimages:

  • debian:12-slim

  • php:8.2-apache

Über das Publishen (Parameter -p | --publish) können wir die Ports von Anwendungen zum Docker Host veröffentlichen und verdrahten. Mit Ports kann man also (in)direkt auf die Dockerdienste / Dockerprozesse vom Docker-Host aus zugreifen.

Was ist aber mit einer sauberen und abgetrennten Vernetzung von Containern. Hier greifern wir besser zu eigenen Docker-Netzwerken, welche die nötigen Container verbinden.

Für die Darstellung nutzen wir die klassischen Partner im Hosting-Bereich für das Management von Datenbanken:

  • Datenbank: MySQL / MariaDB - wir bleiben bei MariaDB

  • phpMyAdmin: eine in PHP geschriebene Oberfläche für MySQL/MariaDB

Hinweis

Bitte in den Übungen daran denken, die vorher beteiligten MariaDB-Container zu stoppen. Bei gleichen Namen müssen Container zuvor entfernt werden.

Wir werden uns ein neues Netzwerk erstellen und und neue MariaDB- und PhpMyAdmin-Container nutzen.

# Neues Docker Netzwerk erstellen
docker network create test-net

# MariaDB Server erzeugen - keine Port Publishings
# Bitte nicht ENV für Root Password vergessen!
docker run -d --name mariadb-test4 \
   -e MYSQL_ROOT_PASSWORD=geheim \
   -v /home/joeb/varlibmysql/:/var/lib/mysql \
   --network test-net mariadb

# phpMyAdmin mit MariaDB Server verbinden (PMA_HOST)
# und dasselbe Netzwerk nutzen
docker run -d --name pma -p 8080:80 \
    -e PMA_HOST=mariadb-test4 \
    --network test-net \
    phpmyadmin                   # Official Image
    #phpmyadmin/phpmyadmin       # Old Image

Beim letzten Aufruf ist der alte volle Name für das PhpMyAdmin-Image zu erkennen. Mittlerweile gibt es phpMyAdmin ja auch als Official Image.

Die Docker-Netzwerke erledigen selbstständig die Namensauflösungen! Es werden die mit der Option -- name erstellten Bezeichner der Container verwendet.

Übung

Analyse und Inspection der Container und Netzwerke!