it-swarm.com.de

Joomla Docker Installation mit Kitematic

Ich versuche, Docker zu verwenden, um meinen aktuellen Webentwicklungsworkflow zu ersetzen. Ich habe Docker und Kitematic installiert und versucht, Official Joomla Image zu verwenden, um einen neuen Joomla-Container zu erstellen.

Ich habe es geschafft, den Container zu erstellen, aber er kann nicht gestartet werden. Es ist ein Fehler in den Container-Protokollen angegeben

error: missing JOOMLA_DB_Host and MYSQL_PORT_3306_TCP environment variables
  Did you forget to --link some_mysql_container:mysql or set an external db
  with -e JOOMLA_DB_Host=hostname:port?

Wie kann ich die Datenbank wie im Fehlerprotokoll angegeben verknüpfen/einrichten? Ich habe die Joomla-Dokumentationsseite geöffnet, aber die Anweisungen sind nicht wirklich klar.

3
webchun

Nachdem ich einige Versuche und Fehler gemacht hatte, schaffte ich es endlich, Joomla in Docker mit Kitematic (ich muss immer noch das CLI verwenden, da nicht alle Aktionen mit Kitematic GUI ausgeführt werden können) auszuführen.

Im Moment, in dem ich diese Antwort erstellt habe, beziehen sich die meisten verfügbaren Kitematic-Dokumentationen, Tutorials und Diskussionsthemen auf die Verwendung von Kitematic mit Docker-Toolbox , während der Docker selbst empfiehlt die Verwendung von Docker für Mac , dem Nachfolger von Docker Toolbox (ja, die Docker-Entwicklung ändert sich so schnell) , also verlangsamt dieses Ding meine Suche ein bisschen.

Als ich die Frage erstellte, hatte ich erwartet, dass ich Joomla in Docker mit 100% Kitematic GUI installieren und ausführen kann (ohne cli zu berühren) aber kürzlich habe ich festgestellt, dass , aufgrund eines kitematischen Problems beim Verknüpfen von externen Containern, zur Zeit, um Joomla-Container mit dem Joomla! Für das offizielle Image müssen Sie weiterhin die Docker-Befehlszeile verwenden.

Also, ohne weiteres, hier sind meine vollständigen Schritte, um Joomla in Docker mit Kitematic zu installieren

  1. Zunächst benötigen Sie einen MySQL-Container, um Ihre Joomla-Datenbank zu speichern (da das offizielle Joomla-Image kein MySQL enthält) . Sie können es erstellen, indem Sie auf die Schaltfläche Neu in der linken Seitenleiste klicken und auf die Schaltfläche "Erstellen" in der MySQL-Box klicken.

    kitematic1

  2. Docker lädt dann die erforderlichen Dateien herunter und startet den Container automatisch, wenn der Downloadvorgang abgeschlossen ist.

  3. Zu diesem Zeitpunkt wird wahrscheinlich die folgende Fehlermeldung im Konsolenprotokoll angezeigt:

    fehler: Die Datenbank wurde nicht initialisiert, und die Kennwortoption wurde nicht angegeben. Sie müssen eines von MYSQL_ROOT_PASSWORD, MYSQL_ALLOW_EMPTY_PASSWORD und MYSQL_RANDOM_ROOT_PASSWORD angeben

  4. Wechseln Sie zur Registerkarte Einstellungen, und fügen Sie im Abschnitt Umgebungsvariablen MYSQL_ROOT_PASSWORD als [~ # ~]) ein [~ # ~] und geben Sie einen beliebigen Text für Ihr Passwort in das Feld [~ # ~] value [~ # ~] ein.

    kitematic2

  5. Klicken Sie auf Speichern, dann sollte der MySQL-Container jetzt ordnungsgemäß ausgeführt werden

  6. Klicken Sie anschließend links unten in der App auf die Schaltfläche "Docker CLI" und führen Sie beim Öffnen des Terminals den folgenden Befehl aus: docker run --name myjoomla --link mysql:mysql -d joomla (Bitte beachten Sie, wenn Sie Ihren MySQL-Container in etwas anderes umbenennen, müssen Sie den MySQL-Teil im Befehl in: name_of_mysql_container: MySQL) ändern

  7. Docker sollte jetzt die erforderlichen Dateien herunterladen und nach Abschluss des Herunterladevorgangs wird der Joomla-Container automatisch von Docker ausgeführt. Zu diesem Zeitpunkt wird wahrscheinlich die folgende Fehlermeldung im Konsolenprotokoll angezeigt:

AH00558: Apache2: Mit 172.17.0.3 konnte der vollständig qualifizierte Domänenname des Servers nicht zuverlässig ermittelt werden. Setzen Sie die Anweisung 'ServerName' global, um diese Nachricht zu unterdrücken

kitematic3

  1. Um dies zu beheben, wechseln Sie zur Registerkarte Einstellungen und öffnen Sie die Registerkarte Anschlüsse. Geben Sie einen neuen Wert für den Mac-IP-Port ein, beispielsweise 8080, und klicken Sie auf Speichern. enter image description here
  2. Ihr neuer Joomla-Container kann jetzt installiert werden. Sie können über Ihren Browser auf den neuen Container zugreifen, indem Sie auf http: // localhost: 8080 zugreifen oder auf die Schaltfläche zum Öffnen der URL im Feld Webvorschau der Kitematic-Benutzeroberfläche klicken.
  3. Folgen Sie wie gewohnt den Installationsschritten von Joomla. Beachten Sie jedoch, dass Sie auf der Registerkarte Datenbankkonfiguration Ihren mysql container name für den Hostnamen eingeben müssen Feld, anstelle von localhost und in diesem Fall verwenden wir mysql

kitematic 5

  1. Das ist alles, dein Joomla ist fertig.
  2. Um die Bearbeitung von Joomla-Dateien zu aktivieren, müssen Sie Volume aktivieren, damit alle Joomla-Dateien auf Ihren lokalen Computer kopiert werden. Klicken Sie dazu auf das Volume-Feld unten rechts in der App

kitematic 7 (Bitte beachten Sie, dass durch das Aktivieren der Datenträgermontage die vorhandene Joomla-Installation zurückgesetzt wird)

  1. Zusätzlicher Schritt. Wahrscheinlich benötigen Sie phpmyadmin, um die Datenbank zu verwalten. Um diesen zu erstellen, klicken Sie erneut auf die Docker Cli-Schaltfläche (aufgrund eines Kitematic-Problems mit der oben erwähnten Verknüpfungsaktion führt das Erstellen eines neuen phpmyadmin-Containers mit der Kitematic-GUI zu einigen Problemen) und führen Sie dieses aus Befehl : docker run --name myphpadmin -d --link mysql:db -p 8081:80 phpmyadmin/phpmyadmin. Das ist es. Sie können über http: // localhost: 8081 auf die neue phpmyadmin-Installation zugreifen.
3
webchun