
Shopware mit Docker: So gelingt der einfache Einstieg
Die Installation und Verwaltung von Shopware kann auf den ersten Blick komplex wirken – besonders, wenn man eine flexible, skalierbare und moderne Entwicklungsumgebung aufsetzen möchte. Genau hier kommt Docker ins Spiel: Mit Container-Technologie kannst Du eine vollständige Shopware-Umgebung lokal oder auf einem Server betreiben, ohne Dich tief in klassische Serverkonfigurationen einarbeiten zu müssen.
Shopware Docker steht mittlerweile für ein bewährtes Setup, das sowohl für Entwickler als auch für ambitionierte Shopbetreiber zahlreiche Vorteile bietet – von der einfachen Einrichtung über die schnelle Reproduzierbarkeit bis hin zur effizienten Zusammenarbeit im Team. In diesem Artikel erfährst Du Schritt für Schritt, wie Du Docker mit Shopware sinnvoll einsetzt, welche Tools und Images sich eignen, worauf Du bei verschiedenen Versionen achten musst und welche Best Practices sich in der Praxis bewährt haben.
Warum Docker für Shopware?
Bevor wir in die technische Umsetzung einsteigen, werfen wir einen Blick auf die Frage: Warum überhaupt Docker für Shopware nutzen? Die Vorteile sind vielfältig – und besonders spürbar, wenn Du regelmäßig mit Entwicklungs-, Test- oder Produktivumgebungen arbeitest.
1. Einheitliche und portable Entwicklungsumgebungen
Einer der größten Pluspunkte von Docker ist die Möglichkeit, eine vollständig vorkonfigurierte Umgebung bereitzustellen – unabhängig davon, ob Du mit Windows, macOS oder Linux arbeitest. Dank sogenannter Docker-Container kannst Du eine standardisierte Shopware-Installation einmal definieren und überall einsetzen – lokal, auf dem Server oder in der Cloud.
Gerade bei Shopware 6, das auf einem modernen Tech-Stack basiert (Symfony, Composer, Admin-UI mit Vue.js etc.), lohnt sich diese Herangehensweise: Du sparst Zeit bei der Konfiguration und vermeidest typische Fehler, die durch unterschiedliche Systemumgebungen entstehen können.
2. Schneller Einstieg mit Docker Compose und Dockware
Für viele Nutzer ist Docker Compose das Werkzeug der Wahl, um mehrere Container (z. B. Webserver, Datenbank, Adminer, Mailcatcher) in einem Schritt zu starten. Ein zentraler Baustein ist hier Dockware, ein speziell für Shopware entwickeltes Docker-Setup, das sowohl für Entwickler als auch für Tester optimiert ist.
Dockware bietet verschiedene vorkonfigurierte Images – z. B. für Shopware 6 mit PHP 8.1 oder 8.2 –, mit denen Du blitzschnell starten kannst. Damit lassen sich lokale Entwicklungsumgebungen aufbauen, die dem Produktivsystem sehr nahekommen, was besonders bei der Plugin-Entwicklung, Template-Anpassung oder API-Integration hilfreich ist.
3. Kompatibilität mit verschiedenen PHP-Versionen
Shopware 6 setzt aktuell auf PHP 8.1 oder 8.2, während ältere Shopware-5-Versionen oft noch PHP 7.4 oder 7.2 benötigen. Docker erlaubt es Dir, exakt die passende PHP-Version für Dein Projekt zu wählen, ohne Dein lokales System umzukonfigurieren.
Das ist besonders praktisch, wenn Du mit mehreren Projekten oder Kunden arbeitest, die unterschiedliche Shopware-Versionen einsetzen. Du kannst Dir für jedes Projekt einen eigenen Docker-Container mit der passenden Konfiguration erstellen – ganz ohne Risiko.
Shopware mit Docker installieren: Die ersten Schritte
Wenn Du Shopware mithilfe von Docker lokal installieren willst, brauchst Du im Grunde nur drei Dinge: Docker, Docker Compose und ein geeignetes Shopware Docker-Image. Je nachdem, ob Du Shopware 5 oder 6 einsetzt, unterscheiden sich die Images und die Konfiguration leicht. Wir konzentrieren uns im Folgenden auf Shopware 6 – die aktuelle und zukunftsweisende Version.
Voraussetzungen
Bevor es losgeht, solltest Du sicherstellen, dass Docker auf Deinem System installiert ist. Für Windows-Nutzer bietet Docker Desktop eine einfache Möglichkeit, Containerumgebungen lokal zu betreiben. Wichtig ist, dass die Virtualisierung im BIOS aktiviert ist, da Docker unter Windows mit einer Linux-VM arbeitet.
Außerdem brauchst Du Docker Compose, das meist bereits in Docker Desktop enthalten ist. Für Linux- und macOS-Nutzer lässt sich Docker Compose separat installieren.
Projektverzeichnis anlegen
Lege zunächst ein neues Verzeichnis an, in dem Deine Shopware-Installation liegen soll – zum Beispiel:
mkdir shopware-docker
cd shopware-docker
Docker Compose-Datei erstellen
Im nächsten Schritt legst Du eine docker-compose.yml
an. Diese Datei beschreibt, welche Container verwendet werden, wie sie miteinander kommunizieren und welche Ports freigegeben sind. Ein einfaches Beispiel für ein Shopware-6-Setup könnte so aussehen:
version: '3.7'
services:
app:
image: dockware/dev:6.5
ports:
- "80:80"
- "3306:3306"
volumes:
- ./shopware:/var/www/html
environment:
- XDEBUG_ENABLED=1
- SHOPWARE_SKIP_BUNDLE_REFRESH=true
Dieses Setup nutzt ein Dockware-Image für Shopware 6.5 mit vorinstallierten Tools für die Entwicklung. Das Volume sorgt dafür, dass Änderungen im shopware
-Verzeichnis sofort im Container wirksam werden.
Container starten
Sobald die docker-compose.yml
bereit ist, kannst Du mit folgendem Befehl die Umgebung starten:
docker-compose up -d
Innerhalb weniger Minuten läuft Deine Shopware-Instanz lokal unter http://localhost
, sofern Port 80 nicht anderweitig belegt ist. Der MySQL-Zugriff ist ebenfalls direkt möglich – ideal, wenn Du mit Tools wie Adminer oder TablePlus arbeitest.
Shopware im Docker-Container installieren oder klonen
Nach dem Starten der Container mithilfe von Docker Compose stellt sich die Frage: Wie installierst Du Shopware im Container – oder wie klonst Du ein bestehendes Projekt?
Wenn Du mit einem frischen System startest, kannst Du das Web-Installer-Interface im Browser öffnen, um Shopware einzurichten. Alternativ lässt sich der Setup-Prozess auch vollständig über die Kommandozeile abwickeln – besonders effizient, wenn Du regelmäßig neue Instanzen erzeugst oder automatisierte Deployments planst.
Falls Du ein bestehendes Shopware-6-Projekt weiterentwickeln oder testen willst, kannst Du es ganz einfach in das Volume-Verzeichnis Deines Docker-Containers kopieren oder via Git klonen. Der Container übernimmt dann den Betrieb der geklonten Instanz – inklusive Datenbank, PHP-Version und Konfiguration.
Tipp: Wenn Du Shopware mit Composer installiert hast, kannst Du das Projekt noch schlanker aufsetzen. Einfach composer install
im Container ausführen, anschließend die Datenbank importieren und schon bist Du einsatzbereit.
Flexibilität durch Shopware Flex-Projekte
Shopware unterstützt seit Version 6 sogenannte Flex-Projekte, bei denen der Quellcode nicht mehr fest im Projekt liegt, sondern über Composer eingebunden wird. Dieses Vorgehen bringt große Vorteile in Sachen Wartbarkeit und Versionierung. In Kombination mit Docker ergibt sich eine extrem flexible Entwicklungsumgebung, in der Du Plugins, Themes und individuelle Logik effizient verwalten kannst.
Mit einem einfachen Docker Setup lässt sich ein Flex-Projekt schnell einrichten:
composer create-project shopware/production shopware-flex
Danach kannst Du es direkt in Deinen Container integrieren. Besonders praktisch: Updates und Abhängigkeiten verwaltest Du sauber über Composer – ganz ohne manuelle Eingriffe ins Dateisystem.
Best Practices für die lokale Entwicklung
Damit Du effizient mit Docker und Shopware arbeiten kannst, hier einige bewährte Tipps aus der Praxis:
Live-Reload und Debugging aktivieren
Für ein angenehmes Entwicklererlebnis solltest Du in der docker-compose.yml
Xdebug aktivieren und sicherstellen, dass Deine IDE korrekt konfiguriert ist. Tools wie PHPStorm oder VS Code bieten passende Docker-Integrationen, mit denen Du direkt im Container debuggen kannst.
Ein Live-Reload-Setup für das Admin-Interface oder das Storefront-Theme lässt sich ebenfalls realisieren – z. B. mit Webpack oder dem Shopware-eigenen Dev-Server.
Cache und Rebuilds im Griff behalten
Shopware arbeitet intensiv mit Caches. Diese lassen sich bequem per CLI im Container löschen:
./bin/console cache:clear
Auch Rebuilds für Administration oder Storefront kannst Du direkt ausführen:
./bin/build-administration.sh
./bin/build-storefront.sh
So kannst Du Änderungen am Frontend sofort sichtbar machen, ohne den Container neu starten zu müssen.
Besonderheiten unter Windows und Tipps zur Performance
Die Arbeit mit Docker unter Windows bringt einige Eigenheiten mit sich. Da Docker hier nicht nativ läuft, sondern über eine virtuelle Maschine (WSL2), kann es zu Performance-Einbußen kommen – besonders bei Dateisystemzugriffen. Hier ein paar Tipps, um flüssiger zu arbeiten:
- Verwende Bind-Mounts nur für das Nötigste, z. B.
/custom/plugins
oder/themes
- Schalte unnötige Container-Dienste ab, wenn Du sie nicht brauchst (z. B. Mailcatcher)
- Nutze den integrierten Cache von Composer (
composer install --prefer-dist
) - Verwende schlanke Images (z. B.
dockware/flex
stattdockware/dev
)
Zudem empfiehlt es sich, regelmäßig nicht mehr benötigte Container, Images und Volumes zu entfernen:
docker system prune
Unterschiede zwischen Shopware 5 und 6 im Docker-Einsatz
Auch wenn Docker primär mit Shopware 6 in Verbindung gebracht wird, lässt sich Shopware 5 ebenfalls containerisiert betreiben. Der größte Unterschied liegt im Technologiestack: Shopware 5 nutzt ein anderes Cache-System, setzt auf Smarty statt Twig und hat andere PHP-Anforderungen (meist 7.4 oder älter).
Für Shopware-5-Projekte kannst Du spezielle Images verwenden, die genau auf diese Anforderungen zugeschnitten sind. Achte dabei besonders auf die PHP-Version und darauf, dass Dein Setup keine inkompatiblen Bibliotheken enthält.
Docker in produktiven Umgebungen
Während Docker lokal meist für Entwicklungs- oder Testzwecke eingesetzt wird, lässt sich Shopware auch produktiv in Containern betreiben. Dabei gelten jedoch andere Anforderungen: Stabilität, Sicherheit, Monitoring und Skalierbarkeit stehen hier im Fokus.
Für die produktive Nutzung empfiehlt es sich:
- Separate Container für Frontend, Backend, Datenbank, Redis und Cronjobs einzusetzen
- Persistente Volumes für Daten und Logs einzubinden
- Ein Reverse Proxy mit SSL (z. B. Traefik oder Nginx) zu nutzen
- Regelmäßige Backups und ein Monitoring-System einzurichten (Prometheus, Grafana, etc.)
Besonders spannend wird es, wenn Du mit Kubernetes oder Docker Swarm arbeitest – hier lassen sich skalierbare Shopware-Infrastrukturen realisieren, die auch größeren Lasten standhalten.
Fazit: Mit Docker zu einer flexiblen und modernen Shopware-Umgebung
Docker hat sich längst als leistungsstarkes Werkzeug im Shopware-Kosmos etabliert – sowohl für lokale Entwicklungsumgebungen als auch für produktive Setups. Ob Du Shopware 6 mit PHP 8 unter Windows testest, ein bestehendes Projekt klonst oder mit Composer und Flex arbeitest: Docker gibt Dir die nötige Kontrolle und Flexibilität an die Hand, um effizient und zukunftssicher zu arbeiten.
Wichtig ist dabei ein klarer Aufbau, passende Images und ein Verständnis für die Abläufe im Container. Tools wie Dockware, Docker Compose und Git helfen Dir, Deine Entwicklungsprozesse zu standardisieren und schneller produktiv zu werden.
Wenn Du einmal die Einstiegshürde gemeistert hast, wirst Du die Vorteile nicht mehr missen wollen – versprochen.