Docker Container für OXID 6

viele wissen das, aber sind zu faul das zu nutzen. daher beschuldigt man lieber erstmal “nutz doch ne suchmaschine” wäre dabei gestanden dass du schon gesucht hast, hätte ich mir den link natürlich erspart :wink:

Es klappt nicht. Kern des Problems sind fortwährende Fehler, wenn ich mittels Git auf Remote Server zugreifen muss. Ich habe eine Menge probiert, aber ich führe das jetzt nicht aus, weil ich so nen Hals habe, dass ich fürchte, mir würde ganz häßlich der Kragen platzen, und das wäre nicht konstruktiv.

Fünf Minuten!

Gruß,
Steffen

Okay, ich glaub, das führt zu nix. Lass uns andere Optionen ausprobieren, Steffen. Aber nicht hier im Topic :wink:

Danke für das Setup!
Funktionierte gut.

Ich hab darauf aufbauend auch mal eins gebaut:

Statt docker-compose up gibts dort ein docker.sh script, was die container hochfährt und:

  • die host user id auf die www-data user id im container mapped, damit die files demselben user gehören
  • man wird in den container als user www-data eingeloggt. damit kann man dann composer im container als nicht root ausführen. Hilft auch bei file permissions.
  • mysql config my.cnf als volume

Vielleicht sind ja ein paar Ideen dabei, die allen helfen.

PS: ist nur auf linux getestet

Cool, hab ich mir mal angeschaut. Hättest aber zumindest nen Fork davon machen können wenn primär alles “kopiert” ist …

Stimmt, kann ich noch machen.

Vielen Dank für das Projekt! Hilft sehr gut bei der lokalen Entwicklung und läuft soweit auf Windows und Mac ohne Probleme.

Da ich bisher mit MailHog nichts zu tun hatte - muss ich da noch weiter etwas Konfigurieren, dass der lokale Shop E-Mails verschickt bzw diese in MailHog landen? Habe nur in diesem Blog etwas zu MailHog gefunden bei dem zusätzliche Tools im Dockerfile installiert werden müssen: https://blog.philipphauer.de/test-mail-server-php-docker-container/ - habe ich auch gemacht, dann passiert leider trotzdem nichts weiter und die Fehlermeldung “Fehler beim Versenden - bitte E-Mail-Adressen überprüfen.” taucht z.B. beim Kontak-Formular auf.

Hast du mir einen Tipp was ich in den (Shop) Einstellungen noch konfigurieren muss damit das mitgelieferte MailHog seinen Zweck erfüllt?

Eigentlich wird hier der SMTP-Host gesetzt, damit funktioniert auch Mailhog:

Ho!

ich verwende Windows 10 Pro, die aktuelle Docker Version, WSL Ubuntu 18 und versuche den Container zu verwenden.

EDIT: Ich habe die Fragen mal Fett markiert, weil der Post so unübersichtlich wurde.

Nun hab ich zwei Probleme, die PE-Version kann nicht mit docker-composer up -d installiert werden, weil die Authentifizierung nicht klappt. Dazu habe ich in der Datei 010-oxid.sh einfach composer install hinterlegt und meine composer.json + auth.json in den Root gelegt.

Die Verzeichnise data/www/ & data/mysql musste ich von Hand anlegen, damit es funktioniert.

Jetzt kommt das Problem, welches ich nicht lösen kann:

 - Installing oxid-esales/oxideshop-pe (v6.2.1): Downloading (connecting...)Downloading (0%)           Downloading (5%)Downloading (10%)Downloading (15%)Downloading (20%)Downloading (25%)Downloading (30%)Downloading (35%)Downloading (40%)Downloading (45%)Downloading (50%)Downloading (55%)Downloading (60%)Downloading (65%)Downloading (70%)Downloading (75%)Downloading (80%)Downloading (85%)Downloading (90%)Downloading (95%)Downloading (100%)
 2018-11-26T13:17:28.584943400Z 
                                                                                                                    
 [InvalidArgumentException]                                                                                            
 Invalid argument, /var/www/html/vendor/oxid-esales/oxideshop-pe/e5567adf32d55fb6209825b7a315b679.tar cannot be found 

Innerhalb der Docker-Container ist Composer nicht in der Lage .tar-Dateien zu entpacken. Sobald Composer PharData::extractTo (fopen) ausführt, wird die .tar-Datei gelöscht. Ich hab dazu selbst ein privates Repo angelegt mit einer .tar-Datei, bei der passiert exakt das selbe.

Hat das Problem evt. noch wer?

BTW. wenn ich composer install in der Konsole (Auf WSL oder Windows Git Bash) ausführe, funktioniert die Installation perfekt. Allerdings funktioniert die Datenbank nicht:

ERROR 1130 (HY000): Host 'xxx.xxx.xx.x' is not allowed to connect to this MySQL server

Kann sich darauf jemand einen Reim bilden?

Wenn ich dann alles installiert habe, sehe ich das folgende Bild - ich glaube langsam es wäre einfacher Windows komplett durch Ubuntu zu ersetzen :confused:

Danke & LG

Nutzt noch niemand Docker und Oxid 6 auf Windows 10?

Hallo zusammen,

danke für die tolle Arbeit, die Benutzung mit Docker ist genau so entspannt wie alles andere über Docker.

Eine offene Frage von mir währe noch die Benutzung von https. Habe mit apache bis jetzt noch nicht in Docker gearbeitet und würde gerne über https auf den Shop zugreifen.

Ich habe einfach versucht den Port in der docker-compose.yml einzutragen, jedoch klappte das nicht wie gedacht.

Gibt es eine Möglichkeit die Funktion hinzuzufügen?

Gruß Marc

Hab es hinbekommen, man musste das Dockerfile von Apache ändern.

Hallo,

ich versuche schon seit einiger Zeit in Docker-oxid6 auf die MySQL Tabelle zuzugreifen.
Ich hatte schon in PHPStorm versucht über die Docker-IP zu connecten oder auch per localhost.
Wie connected Ihr?

Gruß Benny

am einfachsten ist wohl die Anpassung mit Hilfe von Kitematic im Container des zugehörigen Images “docker_oxid6_oxid6_apache_1” des Domain-Eintrags von “oxid6.localhost” auf “localhost” ggf. auch in den Hostnamen anpassen.
=> so funktionierte es bei mir erfolgreich.

Hallo zusammen,

gern würde ich für die Workshops mit den Studierenden noch Matomo als weiteren Service eingebunden verwenden dürfen.
Aktuell taste ich mich noch an die Abhängigkeiten des Containers und deren Einstellungen heran.

Wenn ich das Prinzip richtig verstanden habe, würde man in der „docker-compose.yml“ folgendes ergänzen:

oxid6_matomo:
image: matomo:fpm
ports:
- ${MATOMO_PORT}:80
environment:
PMA_HOST: oxid6_mysql

Sofern das so funktionieren sollte, stellt sich nun die Frage wie die zugehörige Datenbank eingerichtet werden würde?

Ein Tipp wäre sicherlich ein guter Start für weitere Anpassungen, damit die Umgebung erfolgreich in meiner Vorlesung verwendet werden kann?

Vielen Dank.

Freundliche Grüße
Gilbert Seilheimer

Gibts hier aktuell noch Probleme?

Ja, ich bekomme keine Verbindung zur MySQL des Docker containers hin. Ich würde gern mit PHPStorm drauf zugreifen

Du musst den Port noch freigeben:

  oxid6_mysql:
image: mysql:5.7
hostname: mysql.${DOMAIN}
restart: always
volumes:
  - ${PWD}/data/mysql/:/var/lib/mysql
environment:
  MYSQL_DATABASE: ${MYSQL_DATABASE}
  MYSQL_USER: ${MYSQL_USER}
  MYSQL_PASSWORD: ${MYSQL_PASSWORD}
  MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
ports:
  - 3306:3306

Hi

Wie kann ich denn eine bereits vorhandene Datenbank importieren?

Und kann ich auch eine ältere OXID Version verwenden ?
Ich möchte das Image gerne verwenden um einen Update-Test meines Shops zu machen.

Habe mir die scripts näher angesehen. Es geht mit ein wenig Handarbeit.