Zur Erinnerung: Docker erleichtert die Verwaltung von Software in Containern. Docker Compose ist ein Tool, welches die Arbeit mit mehreren Containern vereinfacht. DPDocker enthält vorgefertigte Images, Container und Skripte, die dich bei der Entwicklung mit und für Joomla unterstützen.

DPDocker bietet den Task build, der Joomla Erweiterungen optimal in die Docker Umgebung integriert. Dazu ist es erforderlich, Regeln einzuhalten.

Voraussetzungen

Neben Docker und Docker Compose ist DPDocker notwendig. Wenn du diesem Set bisher gefolgt bist, passt alles.

Clonen einer Joomla Erweiterung

Als nächstes clone ich eines meiner Repositorys, in welchem sich eine Joomla Erweiterung befindet. Ich achte darauf, dass das Repo in einem Verzeichnis neben DPDocker abgelegt wird. Das ist wichtig, denn hier sucht DPDocker nach Erweiterungen!

git clone https://github.com/Digital-Peak/DPAttachments.git

Joomla Erweiterung mit DPDocker verwalten

DPDocker enthält Skripte, die das

  • Entwickeln
  • Erstellen eines Installationspaketes,
  • Testen und
  • Aktualisieren der Abhängigkeiten

unterstützen. Jedes Verzeichnis im Github-Repository[^github.com/Digital-Peak/DPDocker] beinhaltet eine Datei README.md mit genaueren Erklärungen.

Mögliche Fehlermeldungen

Hilfe bei der Meldung: Docker Error bind: address already in use

Unter Umständen hilft es schon, alle Container zu entfernen damit sie beim nächsten Aufruf von ./DPDocker/webserer/run.sh neu gebaut werden.

docker rm $(docker ps -a - q)

Falls das Problem weiterhin auftritt, lasse ich mir alle Dienste anzeigen, die den Port verwenden.

sudo lsof -i -P -n | grep <port number>

Je nachdem, welchen Dienst ich als den Schuldigen ausmache, stoppe ich ihn via

sudo service DIENST stop

Falls es mir nicht gelingt, den blockierenden Dienst zu identifizieren, entferne ich ihn mittels kill. Unter Ubuntu 20.04 stoppe ich ihn mittels

sudo kill <process id>

Die Nummer des Prozesses kann ich in der Ausgabe von sudo lsof -i -P -n | grep <port number> ablesen.