Shopware & Docker | shopwareLabs

Docker ist aktuell auf dem Vormarsch. Auch hier im Blog habe ich schon ein paar Beiträge darüber verfasst. Hier soll es aber nochmal um die explizite Nutzung von Docker mit Shopware gehen.

shopwareLabs Repo

Shopware hat in seinem Labs bereits ein shopware-docker Projekt angelegt welches ziemlich einfach zu benutzen ist. Ich habe selbst auch schon Dockerfiles dazu angelegt, muss aber sagen, dass ich mittlerweile lieber dieses Repo dazu nutze. Warum zeigt sich in Kürze…

Installation

Repo clonen

Bevor Ihr weiter macht empfehle ich euch

auszuführen und falls Ihr bereits elasticsearch laufen habt diesen Service zu deaktivieren, denn sonst kommt es zu folgendem Error:

Los geht’s…

Für ältere Versionen hängt Ihr einfach --sw-version=5.X.X an den init Befehl an.

Nach dem init Befehl solltet Ihr eine Success Meldung erhalten:

 

Shop aufrufen

Der Shop ist nun unter http://10.100.111.46 verfügbar. Der Login für http://10.100.111.46/backend/ ist demo / demo 

Mögliche Konfigurationen

Standardmäßig ist nur die DB in der config.php inkludiert. Kein Debugging, ES oder Redis. Das lässt sich mit der psh.phar leicht ändern.

Debug Modus

erweitert die config.php File im SW Container um:

 

Elasticsearch

erweitert die config.php File im SW Container um:

alle weiteren Befehle findet Ihr unter  shopware-docker/dev-ops/common/actions

Das ganze vereinfacht das testen von Plugins oder neuen Versionen enorm. Natürlich sollte man das ganze dann immer auf seiner eigenen Instanz gegenprüfen – aber um schnell an erste Infos zu kommen ist das ganz echt top.

Container stoppen und löschen

Ist man mit den Tests fertig kann man die Container einfach mit  ./psh.phar docker:stop stoppen und danach mit ./psh.phar docker:destroy löschen.

Ich möchte hier nicht auf alle Befehle eingehen – diese befinden sich unter

und werden jeweils mit docker:SHELLSCRIPT ausgeführt.

 

Warum ich das Repo nutze

Das shopwareLabs Repo liefert schon alle zusätzlichen Komponenten beim initialisieren mit (Elasticsearch, Redis etc.) und man kann simpel zwischen den Versionen wechseln ohne jedes mal die File anzupassen oder eine Liste mit Links zu erstellen.

Um an schon bestehenden Projekten zu arbeiten nutze ich einfach die DB Dumps und das jeweilige Repo des Shops. Geht es aber um Performance Tests oder Setup Tests greife ich gerne auf die Docker Variante zurück. Hier spart man sich das mühselige aufsetzen von ES und Redis sowie das löschen der DB danach.

Auch die Pluginentwicklung für versch. Versionen ist über das Docker Repo wesentlich einfacher – man kann zwischen den Versionen hin und herspringen und kann einfach über  ./psh.phar init-plugins seine Plugins einbinden.

Leider führt sw:plugin:refresh in dem Script immer zu:

Was aber nicht weiter schlimm ist, da das Plugin soweit verfügbar ist. Müsste man sich aber in der Zukunft mal anschauen.

Das aufsetzen des kompletten Stacks dauert bei mir übrigens nur 6 Minuten. Ziemlich flott.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.