Brauch ich mit Docker eigentlich Apache und seine Geschwister?
Das hängt davon ab was Du machen möchtest.
Zum einen wirst Du wahrscheinlich Docker Images verwenden die Apache intern verwenden,
zum anderen kannst Du Docker und ein mit apt installierten Apache gleichzeitig betreiben wenn Du das willst.
z.B. weil Du eine Anwendung verwenden möchtest die es noch nicht als Docker Image gibt (und Du kein eigenes Image erstellen möchtest).
Oder auch schlichtweg aus historischen Gründen.
Zuerst einmal ist es wichtig zu verstehen, was Docker überhaupt ist/macht.
Ein Docker Image beinhaltet alle Programme, Bibliotheken, Daten, ... die es benötigt um ein Programm laufen zu lassen.
Ein Image könnte z.B. ein komplettes Debian Minimal mit installiertem Apache+PHP+MariaDB sowie Deinen PHP-Dateien enthalten.
Es ist ein guter Stil nicht einfach alle für ein Programm notwendigen Dienste in ein Image zu werfen. Statt dessen bekommt jeder Dienst sein eigenes Image.
In obigem Beispiel wäre das ein Image mit MariaDB und ein Image mit Apache+PHP.
Aber das ist etwas das der Ersteller des Images sich überlegen muss, nicht der Anwender der es verwendet.
Außerdem sollte ein Docker Image nur das absolut notwendigste beinhalten das es zum laufen benötigt.
Ein Programm zu installieren kann recht aufwändig sein, weil es viele Voraussetzungen haben kann.
Wenn Du z.B. Nextcloud in einer aktuellen Version installieren möchtest musst Du z.B. Apache,PHP, eine Datenbank,... installieren.
Also viele Dienste die Du per apt-get installieren musst, Berechtigungen anpassen, ...
Darum hat sich der Maintainer eines Docker Images schon gekümmert.
Du hast auf Seite 9 aufgelistet was Du bisher alles gemacht hast. Diese Befehle könnte man auch verwenden um ein eigenes Docker Image daraus zu machen, das dann genau das selbe kann, wie Deine jetzige Installation eben.
Außerdem kann es auf einem Server auch noch Probleme mit den Abhängigkeiten geben.
Vielleicht benötigt das aktuelle Nextcloud mindesten PHP 8. Du hast aber gerade nur PHP 7.4.
Also installierst Du mittels sury.org PHP 8.
Leider hast Du noch eine andere PHP Anwendung am Laufen, die PHP 8 noch nicht unterstützt.
Und schon hast Du ein Problem.
Wenn die Anwendungen allerdings als Docker Images vorliegen bringt jedes Image ja alles mit was es braucht. Also Nextcloud PHP 8 und die ominöse andere Anwendung PHP 7.
Um wieder auf Deine ursprüngliche Frage zurück zu kommen. Da viele Images Apache enthalten ist es auf jeden Fall eine gute Idee die Grundlagen der Apache Konfiguration zu kennen. Das kann helfen die Konfiguration solcher Docker Images besser zu verstehen.
Da dadurch evtl mehrere Apache, Nginx, etc gleichzeitig laufen, aber nur ein Programm sich an Port 80 (bzw 443) binden kann benötigt man noch einen Proxy, der sich dann an den Port bindet und die Datenpakete an die entsprechenden Docker Anwendungen verteilt. z.B. der bereits hier erwähnte https://github.com/NginxProxyManager/nginx-proxy-manager.
Ich würde jetzt am liebsten noch etwas zum Thema Sicherheitsupdates schreiben.
Aber dazu habe ich heute keine Zeit mehr.
Nur noch schnell zu dem Thema: So wie Du derzeit "sudo ufw default deny outgoing" verwendest würde ich nicht glücklich werden. Solange das ohne Ausnahmen aktiv ist hat Dein Server keine Verbindung ins Internet. Es können nicht nur keine Sicherheitsupdate mit apt update/upgrade installiert werden, auch vieles anderes tut nicht, wie z.B. DNS Abfragen. Das kann z.B. bei einem Nginx der als Proxy mit Domainnamen verwendet wird dazu führen, dass Nginx nicht mehr startet.
P.S: Oh je, oh je, ich merk gerade, dass ich wohl etwas übers Ziel hinaus geschossen bin
Ich hoffe es hilft Dir trotzdem.