Ich fange gerade mit Docker an und bin noch neu in der professionellen WordPress-Entwicklung. Ich möchte eine Docker-Entwicklungsumgebung (auf meinem Mac) einrichten, damit ich benutzerdefinierte WordPress-Designs entwickeln kann.
Angenommen, Sie haben dies bereits getan und verwenden Docker bereits. Wie haben Sie dies eingerichtet? Wie sehen Ihre Dockerfile und docker-compose.yml aus? Ich bin mir sicher, dass das schon mal gemacht wurde. Es würde mich nicht wundern, wenn es bereits einen einzeiligen Befehl gibt, der dies für Sie einrichten kann.
Update: Ich habe dieses Thema auf die folgende Frage eingegrenzt:
Antworten:
Ich werde eine Teilantwort posten, um die Diskussion zu beginnen, in der Hoffnung, einige hilfreiche Kommentare zu erhalten, um die Lücken oder alternativen Antworten auszufüllen ...
Schritt 1: boot2docker installieren und einrichten
Docker läuft nur unter Linux. Um Docker auf unserem Mac nutzen zu können, müssen wir
boot2docker
Docker auf einer Linux-VM installieren . Sie könnenboot2docker
mit Homebrew installieren :Sobald die Installation abgeschlossen ist, richten Sie boot2docker ein und starten es:
Als Nächstes müssen wir einen Befehl ausführen, um einige Umgebungsvariablen einzurichten, damit docker-compose Docker in unserer boot2docker-VM findet.
Möglicherweise möchten Sie die Zeilen, die Variablen exportieren, zu Ihren Zeilen hinzufügen,
~/.bash_profile
damit Sie den Befehl nicht jedes Mal ausführen müssen, wenn Sie ein neues Terminalfenster öffnen.Schritt 2: Installieren Sie docker-compose
Es gibt ein Docker-Plugin namens
docker-compose
(ursprünglich genanntfig
), mit dem Sie die Beziehung zwischen Ihren Docker-Containern ganz einfach definieren können. Sie können es auch mit Homebrew installieren:Schritt 3: Erstellen Sie docker-compose.yml
Es gibt ein offizielles WordPress Docker-Image in der Docker-Registrierung. Es enthält einige Informationen zum manuellen Starten von Docker mit allen Befehlszeilen-Flags, die erforderlich sind, damit alles funktioniert. Soweit ich das beurteilen kann, können Sie das alles überspringen, weil wir es verwenden werden
docker-compose
. Erstellen Sie in dem Verzeichnis, in dem Sie an Ihrem WordPress-Theme arbeiten, eindocker-compose.yml
mit folgendem Inhalt:Die
volumes
Konfiguration verknüpft unsere Themendateien in unserem aktuellen Verzeichnis mit einem neuen Themenverzeichnis im Docker-Container.Schritt 4: Starten Sie die Container
Führen
docker-compose up
Sie aus und Sie werden zwei Docker-Container ("wordpress" und "db") einrichten, in denen eine Installation von WordPress ausgeführt wird.Schritt 5: Öffnen Sie die Site im Browser
In unserer
docker-compose.yml
Konfiguration wurde angegeben, dass Port 80 an Port 8080 weitergeleitet wird. Außerdem wirdboot2docker
die VM unter einer bestimmten IP-Adresse ausgeführt. Um die URL herauszufinden, müssen wir den folgendenboot2docker ip
Befehl verwenden:Fragen
Jetzt, wo ich die Container in Betrieb habe, habe ich ein paar Fragen ...
Gibt es eine automatische Möglichkeit, die boot2docker-Umgebungsvariablen einzurichten, mit Ausnahme des Kopierens und Einfügens der in aufgeführten Exporte
boot2docker shellinit
?Wenn ich an einer Rails-Anwendung arbeite, verwende ich gerne Pow, damit ich über eine benannte
.dev
Domain auf die App zugreifen kann, anstatt mit bestimmten Ports / IPs zu arbeiten. Wie kann ich mein System (oder Pow) so konfigurieren, dass ich über http://mysite.dev auf den Host zugreifen kann ?Gibt es irgendwelche Schritte, die ich verpasst habe? Oder gibt es irgendwelche Schritte, die am Ende hinzugefügt werden sollten?
quelle
Meine bevorzugte Lösung hierfür ist die Verwendung von Composer in Kombination mit Docker. Docker kümmert sich um die Umgebung, Composer kümmert sich um die Abhängigkeiten, einschließlich Designs, Plugins und anderer Pakete, die ich möglicherweise benötige.
Hier ist mein lokales Docker-Setup:
https://github.com/alexmacarthur/wp-skateboard
Und hier ist ein Zweig, der Composer verwendet, um das Thema _s herunterzuladen und in mein
themes
Verzeichnis zu stellen:https://github.com/alexmacarthur/wp-skateboard/tree/starter-theme-underscores
quelle