Docker ist zu einem unverzichtbaren Werkzeug für die moderne Webentwicklung geworden, da es eine konsistente, isolierte und effiziente Umgebung für den Aufbau und das Testen von Anwendungen bietet. Für TYPO3-Entwickler bietet Docker eine leistungsstarke Möglichkeit, lokale Entwicklungsumgebungen schnell einzurichten, Abhängigkeiten einfach zu verwalten und sicherzustellen, dass Projekte zuverlässig auf verschiedenen Systemen laufen.
In der TYPO3 Community sind mehrere Docker-basierte Ansätze entstanden, die jeweils darauf abzielen, die Entwicklung zu vereinfachen, Arbeitsabläufe zu optimieren und sowohl Anfänger als auch erfahrene Entwickler zu unterstützen.
In diesem Leitfaden erkunden wir die 8 besten TYPO3 Docker-Entwicklungsansätze sowie Tipps, bewährte Verfahren und zusätzliche Ressourcen, die Ihnen helfen, hochwertige TYPO3-Projekte effizient zu erstellen.
Warum TYPO3 Entwicklung mit Docker?
Docker ist in der TYPO3-Community zu einem weit verbreiteten Werkzeug geworden, da es den Prozess der Entwicklung, des Testens und der Bereitstellung von TYPO3-Projekten vereinfacht.
Beliebtheit und Akzeptanz
Docker ist jetzt der Standard für containerisierte Entwicklung in vielen Webentwicklungs-Communities, einschließlich TYPO3. Viele Entwickler und Agenturen bevorzugen Docker, weil es ihnen ermöglicht, konsistente, reproduzierbare Umgebungen für alle Projekte zu schaffen, unabhängig vom Betriebssystem oder der lokalen Maschinenkonfiguration.
Wichtige Vorteile für TYPO3-Entwickler
- Schnelle Einrichtung: Entwickler können ein TYPO3-Projekt in wenigen Minuten mit vorkonfigurierten Docker-Images oder Lösungen wie DDEV starten.
- Konsistenz: Docker stellt sicher, dass jeder Entwickler in derselben Umgebung arbeitet, wodurch das Problem "es funktioniert auf meinem Rechner" reduziert wird.
- Umgebungsisolation: Verschiedene TYPO3-Projekte können mit separaten PHP-, MySQL- oder Apache-Versionen laufen, um Konflikte zu vermeiden und mehrere Projekte auf demselben System zu ermöglichen.
Docker in Zahlen
Die Beliebtheit von Docker spiegelt sich in seiner weit verbreiteten Akzeptanz wider:
- Über 242 Milliarden Gesamt-Downloads auf Docker Hub
- Mehr als 7 Millionen Repositories auf Docker Hub
- 7 Millionen+ Nutzer weltweit
- 2,9 Millionen+ Desktop-Installationen
Diese Statistiken zeigen, dass Docker eine bewährte, zuverlässige Plattform für das effiziente und professionelle Management der TYPO3 Entwicklung ist.
Wie installiert und konfiguriert man Docker?
Die Einrichtung von Docker ist der erste Schritt, um die TYPO3-Entwicklung in einer konsistenten, isolierten Umgebung zu starten. Docker funktioniert auf den meisten Betriebssystemen, einschließlich Windows, macOS und Linux, und der Installationsprozess ist unkompliziert.
Schritt 1: Docker installieren
- Besuchen Sie die offizielle Docker-Website (docker.com) und laden Sie die Docker Desktop-Version herunter, die für Ihr Betriebssystem geeignet ist.
- Folgen Sie dem Installationsassistenten, um die Einrichtung abzuschließen.
Überprüfen Sie die Installation, indem Sie ein Terminal oder eine Eingabeaufforderung öffnen und ausführen:
docker --versiondocker-compose --version- Diese Befehle sollten die installierten Versionen von Docker und Docker Compose zurückgeben.
Schritt 2: Docker konfigurieren
- Weisen Sie Docker in den Docker Desktop-Einstellungen ausreichende Systemressourcen (CPU, RAM, Speicherplatz) zu. TYPO3-Projekte mit mehreren Containern können eine höhere Speicher- und CPU-Zuweisung erfordern.
- Stellen Sie sicher, dass Docker so eingestellt ist, dass es beim Systemstart automatisch startet, um den Komfort zu erhöhen.
Schritt 3: Offizielle Dokumentation und Tutorials aufrufen
- Docker bietet umfassende Dokumentation zur Installation und Konfiguration: Docker Docs
- Für TYPO3-spezifische Anleitungen führen Sie anfängerfreundliche Tutorials wie das T3Planet Docker Tutorial Schritt für Schritt durch die Erstellung Ihrer ersten TYPO3 Docker Umgebung.
Mit installiertem und konfiguriertem Docker sind Sie bereit, zu TYPO3-spezifischen Docker-Lösungen wie DDEV, webdevops/typo3-docker-boilerplate oder martinhelmich/typo3 überzugehen, die die lokale TYPO3-Entwicklung noch weiter vereinfachen.
Vorteile der Verwendung von Docker für die TYPO3-Entwicklung
Die Verwendung von Docker für die TYPO3 Entwicklung bietet mehrere entscheidende Vorteile, die den Entwicklungsprozess schneller, konsistenter und einfacher zu verwalten machen.
Konsistente Entwicklungsumgebung
Docker stellt sicher, dass Ihre TYPO3-Projekte auf allen Maschinen in derselben Umgebung laufen. Dies beseitigt das häufige Problem "Es funktioniert auf meinem PC" und stellt sicher, dass sich Ihr Projekt für alle Entwickler und in der Produktion konsistent verhält.
Schnelles Setup und Abbau
Entwickler können mit Docker in wenigen Minuten neue TYPO3-Projekte starten. Ebenso können Container entfernt oder zurückgesetzt werden, ohne den Rest des Systems zu beeinträchtigen, was Experimente und Tests schneller und sicherer macht.
Isolation von Abhängigkeiten
Jedes TYPO3-Projekt kann mit seinen eigenen Versionen von PHP, MySQL oder Apache ohne Konflikte laufen. Dies ermöglicht es, dass mehrere Projekte auf derselben Maschine koexistieren, während Stabilität und Kompatibilität erhalten bleiben.
Einfache Zusammenarbeit
Docker-Konfigurationsdateien (Dockerfile, docker-compose.yml) können mit Teammitgliedern geteilt werden, um sicherzustellen, dass alle in derselben Umgebung arbeiten. Dies vereinfacht die Einarbeitung neuer Entwickler und reduziert Einrichtungsfehler.
Vergleich von Docker-Ansätzen
| TYPO3 Docker-Lösung | Einfachheit der Einrichtung | Produktionsbereitschaft | Unterstützte TYPO3-Versionen | Community-Support & Wartung | Zusätzliche Werkzeuge enthalten |
| DDEV | Sehr einfach | Begrenzt (lokale Entwicklung) | LTS-Versionen | Aktive, große Community | Eingebaute TYPO3-Konfiguration, Composer-Unterstützung |
| martinhelmich/typo3 | Einfach | Nicht produktionsbereit | TYPO3 v10 | Moderat | Minimal (nur Web + DB) |
| webdevops/typo3-docker-boilerplate | Mittel | Teilweise | LTS-Versionen | Aktiv, gut gewartet | NGINX, Apache, PHP-FPM, MySQL, Solr, Elasticsearch, Redis, FTP |
| t3easy/docker-typo3 | Mittel | Entwicklungsfokus | LTS-Versionen | Moderat | Minimal, Bootcamp-Umgebung |
| fnagel/docker-typo3 | Einfach | Sowohl Entwicklung als auch Produktion | LTS-Versionen | Moderat | PHP + Apache-Umgebung |
| crinis/typo3-docker | Mittel | Begrenzte Produktion | Die meisten LTS-Versionen | Niedrig | MySQL, FPM-Container, TYPO3-Image |
| raaaimund/typo3-docker | Einfach | Nur Entwicklung | LTS-Versionen | Niedrig | Leichte Kerncontainer |
| kronova/typo3-docker | Mittel | Skalierbar für Produktion | Mehrere LTS-Versionen | Moderat | Multi-Container, Kubernetes-freundlich |
Wie man Docker für TYPO3 installiert und konfiguriert
Die Installation von Docker ist unkompliziert und sorgt für konsistente TYPO3-Entwicklungsumgebungen.
Schritt 1: Docker installieren
- Laden Sie Docker Desktop von docker.com herunter.
- Befolgen Sie die Anweisungen für Windows, macOS oder Linux.
- Installation überprüfen:
docker --versiondocker-compose --version
Schritt 2: Docker konfigurieren
- Weisen Sie ausreichend CPU, RAM und Speicherplatz zu.
- Aktivieren Sie den automatischen Start, falls gewünscht.
Schritt 3: TYPO3-spezifische Tutorials
- Anfängerfreundliche Anleitung: T3Planet Docker Tutorial
DDEV ist die beliebteste TYPO3 Docker-Lösung für die lokale Entwicklung.
Systemanforderungen:
- Docker >= v18.6
- Docker-Compose >= v1.2
- macOS, Linux, Windows 10
DDEV installieren:
curl -L raw.githubusercontent.com/drud/ddev/master/scripts/install_ddev.sh | bash
TYPO3-Projekt starten:
mkdir my-typo3-sitecd my-typo3-siteddev config --project-type=typo3 --docroot=public --create-docroot=trueddev startddev composer create "typo3/cms-base-distribution:^10" --prefer-distddev exec touch public/FIRST_INSTALLddev launch
# Step 1: Create MySQL container
docker run -d --name typo3-db \
-e MYSQL_ROOT_PASSWORD=yoursupersecretpassword \
-e MYSQL_USER=typo3 \
-e MYSQL_PASSWORD=yourothersupersecretpassword \
-e MYSQL_DATABASE=typo3 \
mariadb:latest \
--character-set-server=utf8 \
--collation-server=utf8_unicode_ci
# Step 2: Create TYPO3 container
docker run -d --name typo3-web \
--link typo3-db:db \
-p 80:80 \
martinhelmich/typo3:10
webdevops/TYPO3-docker-boilerplate
Voll ausgestattetes Boilerplate mit mehreren Diensten.
Schritte:
git clone github.com/webdevops/TYPO3-docker-boilerplate.git projectnamecd projectnamecp docker-compose.development.yml docker-compose.ymldocker-compose up -drm -f app/.gitkeepcomposer create-project typo3/cms-base-distribution app/touch app/public/FIRST_INSTALL app/.gitkeep
t3easy/docker-typo3
Bootcamp-Umgebung für TYPO3-Entwicklung:
- Befolgen Sie die Installationsanleitung: t3easy/docker-typo3
fnagel/docker-typo3
Minimale PHP + Apache Docker-Umgebung für Entwicklung und Produktion:
- Installation über Anleitung: fnagel/docker-typo3
crinis/typo3-docker
Unterstützt die meisten TYPO3 LTS-Versionen.
Schritte:
docker network create typo3-db
docker run -d --volume typo3-mysql:/var/lib/mysql/ --network typo3-db \--env MYSQL_DATABASE=typo3 --env MYSQL_USER=typo3 \--env MYSQL_PASSWORD=StrongPassword --env MYSQL_ROOT_PASSWORD=StrongPassword \--name typo3-mysql mysql:5.7 --character-set-server=utf8mb4 \--collation-server=utf8mb4_unicode_cidocker run -d -p 80:80 --volume typo3:/var/www/html/ --network typo3-db \--env TYPO3_DB_HOST=typo3-mysql --env TYPO3_DB_NAME=typo3 \--env TYPO3_DB_USERNAME=typo3 --env TYPO3_DB_PASSWORD=StrongPassword \--env TYPO3_ADMIN_PASSWORD=StrongPassword \--name typo3 crinis/typo3:9.5-php7.2-apache
raaimund/typo3-docker
Leichtgewichtiger Kern für schnelle TYPO3-Installation:
- Verwenden Sie
build.batundrun.bat, um TYPO3 schnell zu installieren.
kronova/typo3-docker
Multi-Container-Setup, das mehrere TYPO3 LTS-Versionen unterstützt, skalierbar für Kubernetes oder Cloud-Bereitstellung.
Docker Best Practices für TYPO3
Die Befolgung von Best Practices gewährleistet eine reibungslose, sichere und wartbare TYPO3-Entwicklung mit Docker.
- Verwenden Sie versionsspezifische Docker-Images
- Wählen Sie immer Docker-Images, die Ihrer TYPO3 LTS-Version entsprechen.
- Dies gewährleistet die Kompatibilität mit Erweiterungen, Vorlagen und PHP-Anforderungen.
- Beispiel:
crinis/typo3:9.5-php7.2-apachefür TYPO3 v9 LTS.
- Speichern Sie persistente Daten in Docker-Volumes
- Bewahren Sie Datenbankdateien, Uploads und Website-Inhalte in Docker-Volumes auf.
- Dies verhindert Datenverlust, wenn Container neu erstellt oder aktualisiert werden.
Beispiel:
docker volume create typo3-mysqldocker run -d --volume typo3-mysql:/var/lib/mysql mysql:5.7
- Halten Sie Container leichtgewichtig
- Vermeiden Sie die Installation unnötiger Tools oder Dienste im TYPO3-Container.
- Verwenden Sie separate Container für Dienste wie MySQL, Redis oder Elasticsearch.
- Dies verbessert die Leistung, reduziert die Image-Größe und vereinfacht Updates.
- Planen Sie das Networking für Multi-Container-Setups
- Verwenden Sie Docker-Netzwerke, um TYPO3-Webcontainer mit Datenbanken und Caching-Diensten kommunizieren zu lassen.
Beispiel:
docker network create typo3-networkdocker run -d --network typo3-network --name typo3-db mysql:5.7docker run -d --network typo3-network --name typo3-web crinis/typo3:9.5-php7.2-apache
- Aktualisieren Sie regelmäßig Images und Abhängigkeiten
- Halten Sie Docker-Images und TYPO3-Versionen für Sicherheit und Stabilität auf dem neuesten Stand.
- Testen Sie Updates in einem separaten Entwicklungscontainer, bevor Sie sie in der Produktion anwenden.
- Verwenden Sie Compose-Dateien für Reproduzierbarkeit
- Docker Compose ermöglicht es Ihnen, Multi-Container-Setups in einer einzigen YAML-Datei zu definieren.
- Dies stellt sicher, dass jedes Teammitglied die gleiche Umgebung hat.
CI/CD Integration für TYPO3 mit Docker
Die Verwendung von Docker in der TYPO3 Entwicklung kann die Workflows für Continuous Integration (CI) und Continuous Deployment (CD) erheblich vereinfachen.
Vereinfachte Pipelines
- Docker stellt sicher, dass dieselbe TYPO3-Umgebung auf lokalen, Staging- und Produktionsservern verwendet wird.
- Dies beseitigt das Problem „funktioniert auf meinem Rechner“ bei Bereitstellungen.
Integration mit CI/CD-Tools
- TYPO3-Projekte, die Docker verwenden, können problemlos in GitHub Actions, GitLab CI, Jenkins oder andere CI/CD-Plattformen integriert werden.
Beispiel mit GitHub Actions:
jobs:build:runs-on: ubuntu-latestservices:db:image: mysql:5.7env:MYSQL_ROOT_PASSWORD: rootMYSQL_DATABASE: typo3ports: ['3306:3306']steps:- uses: actions/checkout@v2- name: Set up Dockeruses: docker/setup-buildx-action@v1- name: Build TYPO3 containerrun: docker-compose up -d- name: Run testsrun: ddev exec vendor/bin/phpunit
Vorteile von CI/CD mit Docker
- Automatisiertes Testen von TYPO3-Code und -Erweiterungen vor der Bereitstellung.
- Versionskontrolle von Docker-Images und Umgebungskonfiguration.
- Schnellere und zuverlässigere Bereitstellungszyklen.
Leistungsoptimierungstipps für TYPO3 in Docker
Die Optimierung der Leistung stellt sicher, dass Ihr TYPO3-Projekt sowohl in der Entwicklung als auch in der Produktion reibungslos läuft.
Verwenden Sie PHP-FPM und NGINX
- Bevorzugen Sie PHP-FPM mit NGINX-Containern gegenüber Apache für bessere Geschwindigkeit und Skalierbarkeit.
Aktivieren Sie Caching-Erweiterungen
- Verwenden Sie TYPO3-Caching-Erweiterungen wie ext:cache oder Redis-Integration während der Entwicklung.
- Verbessert die Antwortzeiten und reduziert die Containerbelastung.
Optimieren Sie Container-Ressourcen
- Weisen Sie ausreichend CPU, RAM und Speicher für TYPO3- und Datenbank-Container zu.
- Überwachen Sie die Ressourcennutzung, um Verlangsamungen während der Entwicklung oder CI/CD-Läufe zu verhindern.
Leichte Container
- Halten Sie Container minimal und trennen Sie Dienste wie Datenbank, Suche (Solr/Elasticsearch) und Caching in dedizierte Container.
Fehlerbehebung bei häufigen Docker-Problemen mit TYPO3
Obwohl Docker die TYPO3-Entwicklung vereinfacht, können Anfänger auf einige häufige Probleme stoßen.
- Portkonflikte
- Fehler: „Port 80 bereits in Gebrauch.“
Lösung: TYPO3-Webcontainer auf einen anderen Port abbilden:
docker run -d -p 8080:80 your-typo3-image- Datenbankverbindungsfehler
- Fehler: TYPO3 kann keine Verbindung zu MySQL herstellen.
Lösung: Stellen Sie sicher, dass die Container dasselbe Docker-Netzwerk nutzen und die richtigen Umgebungsvariablen gesetzt sind:
docker network create typo3-netdocker run --network typo3-net --name typo3-db -e MYSQL_ROOT_PASSWORD=root mysql:5.7docker run --network typo3-net --name typo3-web -e TYPO3_DB_HOST=typo3-db your-typo3-image
- Berechtigungsprobleme
- TYPO3 kann nicht in
fileadminoderuploadsschreiben.
- TYPO3 kann nicht in
Lösung: Berechtigungen im Container anpassen:
docker exec -it typo3-web bashchown -R www-data:www-data /var/www/html/fileadminchmod -R 755 /var/www/html/fileadmin
Container startet nicht / stürzt ab
Protokolle überprüfen:
docker logs typo3-web- Überprüfen Sie die Docker-Version und die Ressourcenzuweisung (CPU/RAM) für umfangreiche TYPO3-Projekte.
Zukunft der TYPO3-Entwicklung mit Docker
Die Containerisierung entwickelt sich im TYPO3-Ökosystem rasant weiter und ermöglicht skalierbarere, flexiblere und modernere Entwicklungs-Workflows.
Integration mit Kubernetes
- TYPO3-Projekte werden zunehmend auf Kubernetes-Clustern bereitgestellt, was automatisches Skalieren, selbstheilende Container und Lastverteilung in der Produktion ermöglicht.
- Agenturen und Unternehmen profitieren von reduzierten Ausfallzeiten und vereinfachtem Infrastrukturmanagement.
Headless TYPO3 Setups
- Docker unterstützt headless TYPO3-Architekturen, bei denen TYPO3 als Backend-CMS fungiert und Inhalte über APIs an moderne Frontends (React, Vue, Angular) oder mobile Apps geliefert werden.
- Dieser Trend ermöglicht es Teams, flexible, reaktionsschnelle und leistungsstarke Websites oder Apps zu entwickeln, während TYPO3 als Content-Hub beibehalten wird.
Optimierte Entwicklungs-Pipelines
- Docker in Kombination mit CI/CD verbessert weiterhin die Automatisierung, das Testen und die Bereitstellung.
- TYPO3-Entwickler können mehrere Versionen und Erweiterungen ohne Umgebungs-Konflikte verwalten, was groß angelegte Updates reibungsloser macht.
Wachstum des Ökosystems
- Open-Source-Projekte wie DDEV, t3easy/docker-typo3 und webdevops/typo3-docker-boilerplate entwickeln sich mit Beiträgen der Community weiter und stellen sicher, dass TYPO3-Docker-Setups modern und effizient bleiben.
Zusätzliche Ressourcen & Links
Um Ihnen zu helfen, die TYPO3 Docker-Entwicklung weiter zu erkunden, finden Sie hier einige wichtige Ressourcen:
- Offizielle Docker-Dokumentation: https:// docs.docker.com
- DDEV TYPO3-Dokumentation: https:// ddev.readthedocs.io
- Martin Helmich TYPO3 Docker Image: https://github.com/martinhelmich/typo3-docker
- webdevops/typo3-docker-boilerplate: https://github.com/webdevops/TYPO3-docker-boilerplate
- t3easy/docker-typo3: https://github.com/t3easy/docker-typo3
- fnagel/docker-typo3: https://github.com/fnagel/docker-typo3
- Offizielle TYPO3-Tutorials & Anleitungen: https:// docs.typo3.org
Diese Ressourcen sind ideal für Entwickler, die lokale Umgebungen einrichten, verschiedene Docker-Ansätze erkunden oder TYPO3 in moderne Entwicklungs-Workflows integrieren möchten.
Fazit
Docker hat die Arbeitsweise von TYPO3-Entwicklern revolutioniert, indem es eine konsistente, skalierbare und flexible Umgebung sowohl für die lokale Entwicklung als auch für den Produktionseinsatz bietet. Durch die Nutzung von Docker können Teams die Projekteinrichtung beschleunigen, Konflikte in der Umgebung reduzieren und mehrere TYPO3-Projekte effizient verwalten.
Von Unternehmensagenturen wie T3Planet und Netlogix bis hin zu Bildungseinrichtungen wie der RWTH Aachen University zeigen reale Fallstudien, dass Docker die Zusammenarbeit, die Bereitstellungsgeschwindigkeit und die Gesamtqualität der Projekte verbessert.
Die Zukunft der TYPO3-Entwicklung ist zunehmend containerisiert, mit Trends zu Kubernetes-Bereitstellungen, Headless-Setups und vollständig automatisierten CI/CD-Pipelines. Für Entwickler und Agenturen gleichermaßen stellt die Einführung von Docker einen modernen, effizienten und skalierbaren Arbeitsablauf sicher.
Egal, ob Sie ein TYPO3-Anfänger oder ein erfahrener Entwickler sind, Docker erleichtert es, sich auf den Bau großartiger Websites und Anwendungen zu konzentrieren, während die Infrastruktur und Umgebungsverwaltung nahtlos gehandhabt wird.
Erkunden Sie die Docker-basierte TYPO3-Entwicklung, experimentieren Sie mit verschiedenen Setups und nutzen Sie das reichhaltige Ökosystem von Tools, Vorlagen und Community-Unterstützung, um Ihre TYPO3-Projekte zu verbessern.
Häufig gestellte Fragen
Docker bietet TYPO3-Entwicklern eine konsistente und isolierte Umgebung. Es verpackt TYPO3, PHP und Datenbanken in Container, was die Einrichtung, das Testen und die Bereitstellung schneller und zuverlässiger macht.
DDEV ist die beliebteste Wahl für TYPO3-Entwickler. Es ist anfängerfreundlich, vorkonfiguriert für TYPO3 und wird von einer großen Community unterstützt.
Ja, aber nur mit optimierten Setups. Images wie fnagel/docker-typo3 und kronova/typo3-docker unterstützen die Produktion, während andere besser für die lokale Entwicklung geeignet sind.
Es standardisiert die Umgebung für alle Entwickler. Durch das Teilen desselben Dockerfile oder docker-compose.yml eliminieren Teams Einrichtungsunterschiede und vermeiden „funktioniert auf meinem Rechner“-Probleme.
Indirekt, ja. Es verbessert Caching, Konsistenz und CI/CD-Pipelines, die zusammen die TYPO3-Workflows beschleunigen und Fehler reduzieren.
TYPO3-fertige Docker-Images und Boilerplates sind auf GitHub verfügbar, darunter DDEV, webdevops/typo3-docker-boilerplate und martinhelmich/typo3.

Wolfgang Weber
Brand & Communication LeadWolfgang Weber gestaltet TYPO3 mit Leidenschaft und Expertise. Als langjähriger TYPO3-Enthusiast hat er zu zahlreichen Projekten beigetragen, die Websites schneller und sicherer machen. Abseits von TYPO3 findet man ihn…
More From Author