‫OKAY.
‫Das bin ich, der Auftrag 2 durchläuft. Ich habe hier drei offene Fenster.
‫Ich habe zu meiner Linken, wo ich die Docker Compose-Befehle ausführen kann. In diesem Verzeichnis sehen Sie, dasselbe Verzeichnis,
‫mit dem Sie beginnen. Die Readme, die mir sagt, wie ich durchkomme.
‫Dann die Docker-Datei, die leer ist, und eine Docker-Erstellungsdatei, die leer ist.
‫Dann habe ich zu meiner Rechten Vim geöffnet, damit ich meine Dateien sehen kann, die ich oben bearbeiten muss. Dann unten habe ich die
‫Anweisungen.
‫Zuerst muss ich mich auf das Dockerfile konzentrieren.
‫Es heißt, ich muss eine von Drupal 8 machen. 2. Dann muss ich einen Lauf machen, um Git zu installieren. Apt Update bekommen.
‫aktualisieren.
‫Übrigens, die install -y ... das -y dort
‫heißt automatisch ja sagen.
‫Und so wird es automatisch ... Es wird nicht aufgefordert, Git zu installieren.
‫Und das spricht von einer ordentlichen Bereinigung.
‫Wenn Sie also apt-get verwenden, erstellt apt-get bei der Aktualisierung von apt-get tatsächlich einen Cache.
‫Wir möchten diesen Cache wirklich löschen, da er mindestens 10 MB groß ist und unser Image
‫aufnimmt, das wir nicht benötigen.
‫In diesem Fall kann ich den Backslash verwenden, dh die nächste Zeile in diesen Befehl einfügen. Und dann die && Symbole
‫... oder kaufmännisches
‫und kaufmännisches und ... sagen mir, dass, wenn der erste Befehl erfolgreich ist, auch dieser Befehl ausgeführt wird.
‫Und tatsächlich haben wir hier einen.
‫Das ist also eigentlich der dritte Befehl, den ich machen werde. Entfernen Sie diese spezifischen Dateien.
‫Das ist ziemlich verbreitet. Das sieht man in vielen Bildern.
‫Ich füge es einfach allen meinen Bildern hinzu, um sie sauber zu halten.
‫Es ist nicht unbedingt erforderlich, damit es funktioniert.
‫Es ist nur da, um es sauber zu halten.
‫Wir müssen also das Arbeitsverzeichnis für unsere Vorlage oder unsere Themen ändern.
‫Dann müssen wir einen Klon machen.
‫Ich werde weitermachen und ... Kopieren Sie das und fügen Sie es ein.
‫Wenn Sie eine Git-Person sind, werden Sie möglicherweise feststellen, dass diese Person vertraut ist. Git, offensichtlich zieht unser ... klont dieses bestimmte
‫Git-Repository nach unten, das eine Vorlage ist. Es verwendet einen bestimmten Zweig. Es werden diese beiden
‫Variablen verwendet, diese beiden Optionen, die
‫ich hier eingegeben habe, damit sie nur die neueste Kopie und nur diesen bestimmten Zweig herunterladen. Das spart Ihnen im Grunde viel Zeit.
‫Tatsächlich sparen Sie Minuten beim Herunterladen von Git-Repositories. Wenn Sie nur das absolut
‫neueste Commit und alle darin enthaltenen Dateien benötigen und nur
‫einen bestimmten Zweig, der wahrscheinlich alles ist, was Sie zum Bereitstellen eines Images benötigen.
‫Denn wenn wir das ändern würden, würden wir einfach ein neues Image aufbauen. Richtig?
‫Das ist also ein guter Tipp.
‫Wenn Sie Git häufig zum Erstellen von Images verwenden, sparen
‫Sie viel Zeit und Platz, da Sie nicht den gesamten Verlauf des Repositorys benötigen. Sie benötigen nur das neueste Commit.
‫OKAY.
‫Dann ist das Problem hier, dass diese Dateien ... Dies ist ein häufiges Problem in Docker ... Alle
‫Befehle, die Sie hier ausführen, werden als root ausgeführt.
‫Also wurden diese Dateien nur heruntergeladen und als root in dieses Verzeichnis gestellt.
‫Das Problem ist jedoch, dass der Apache-Webserver erwartet, dass diese Dateien der WWW-Datenbenutzer sind.
‫Deshalb muss ich die Berechtigungen nachträglich ändern, damit es funktioniert.
‫Sie müssen diese Befehle nicht kennen.
‫Dies ist jedoch eine sehr verbreitete Form, die für Eigentümerwechsel steht. Und -r bedeutet alle Dateien,
‫einschließlich Unterverzeichnissen und Unterdateien, für diesen Benutzer und diese Gruppe.
‫Wir werden es auf das Verzeichnis beschränken, das wir erstellt haben.
‫Sparen Sie uns ein paar Mikrosekunden. Ich muss dann mein Arbeitsverzeichnis zurücksetzen, falls die Anwendung
‫erwartet, dass sie sich in dem Arbeitsverzeichnis befindet, in dem sie gestartet wurde.
‫Ich muss keine andere angeben, wie z. B. ein cmd oder etwas anderes, da
‫diese bereits im from-Image angegeben sind ...
‫das Drupal-Bild, von dem ich ziehe. Gut. Denke, ich bin dort fertig.
‫Gehen wir zur Compose-Datei.
‫Wenn Sie Ihre Datei zuvor gespeichert haben, sieht sie möglicherweise so aus. Richtig?
‫Es verfügt über die Dienste und dann
‫über den Drupal mit dem Bildnamen Drupal und dann über die Volumes und dann über die Postgres und die Umgebungsvariable für das Kennwort.
‫Und dann definieren wir die Volumina.
‫Was müssen wir
‫tun, damit dies in dieser Situation funktioniert? Gemäß unseren Anweisungen müssen wir das Image umbenennen.
‫Jedes Mal, wenn in
‫einer Compose-Datei ein Image-Schlüssel und ein Build-Schlüssel vorhanden sind, ändert sich der Zweck des Image-Schlüssels.
‫Jetzt sagen
‫wir nicht mehr: "Hey, ich möchte, dass Sie das offizielle Drupal-Image herunterladen." Sobald wir den Build hinzugefügt haben, sagen wir:
‫"Hey, ich möchte von einem bestimmten Ort auf meinem Server aus bauen." lokale Maschine und dann möchte ich das Bild aufrufen, das Sie diesen Bildnamen erstellen. 'Jetzt muss ich den Bildnamen nicht mehr
‫angeben.
‫Ich könnte die Bildzeile komplett löschen und es
‫würde tatsächlich ein automatisch benannter Name basierend auf der Compose-Benennung erstellt, die Sie wahrscheinlich bemerkt haben. Wann immer Sie Compose verwenden, wird alles benannt, um für das jeweilige
‫Projekt freundlich zu sein.
‫Aber wir werden weitermachen und es hier fest einprogrammieren.
‫Beachten Sie, dass ich einen Punkt für den Build einsetze.
‫Das ist nur eine Abkürzung, eine Abkürzung,
‫um nur zu sagen: 'Hey, baue einfach in dieses Verzeichnis und verwende das Dockerfile, das der Standardname ist. 'Ich gebe ihm keine Build-Optionen.
‫Ich sage nicht, dass es sich um eine benutzerdefinierte Build-Datei oder einen benutzerdefinierten Speicherort handelt.
‫Ich sage es nur auf die einfachste Art und Weise, wie wir es gebaut haben.
‫Gut. Das ist erledigt.
‫Das sollte ein benutzerdefiniertes Image basierend auf meinem Dockerfile erstellen. Dann hier unten
‫in Postgres muss ich tatsächlich ein Volume einfügen.
‫Wir möchten, dass unsere Daten erhalten bleiben.
‫Der Grund, warum wir die Daten beibehalten möchten, ist,
‫dass wenn Sie dies testen und ein Docker-Compose nach unten erstellt wird, die Datenbank tatsächlich gelöscht wird und wir dann nicht ...
‫Wenn wir es wieder einschalten, werden die Daten dort nicht gespeichert. Daher möchten wir sicherstellen, dass die Daten über
‫Compose-Neustarts hinweg beibehalten werden.
‫Wenn wir jetzt einen Docker erstellen, nachdem wir dieses Datenvolumen dort haben, wird es dieses Datenvolumen nicht wirklich entfernen, es
‫sei denn, wir führen am Ende ein -v aus, das besagt: 'Hey, ich möchte auch löschen die Bände. '
‫Ich denke das ist richtig.
‫Drupal-Daten var lib postgres SQL-Daten.
‫Gut.
‫Dann muss ich das auch hier ablegen.
‫Daten.
‫Gut.
‫Ich denke wir sind bereit.
‫Meine Dateien speichern.
‫Mal sehen, ob wir einen Docker zusammenstellen können. OK, überprüfen wir unseren Browser localhost 8080.
‫Gut.
‫Wenn
‫dies alles geklappt hat, kann
‫ich diese Installation wie zuvor durchgehen und postgres postgres mypasswd postgres.
‫Speichern und fortfahren. Dieses Mal gehe ich ein bisschen schnell, weil ich glaube, dass Sie es schon einmal gemacht haben.
‫Ich werde die Site sehr schnell konfigurieren.
‫OKAY.
‫Wir
‫befinden uns auf der Site und die Anweisungen weisen uns an, zur Registerkarte Darstellung zu wechseln und festzustellen, dass wir die Bartik-Standardeinstellung verwenden.
‫Wir hatten dieses deinstallierte Thema hier unten,
‫das es nicht gegeben hätte, wenn wir es nicht mit unserem Image installiert hätten.
‫Ich kann auf Installieren klicken und als Standard festlegen.
‫Klicken Sie dann zurück zur Site.
‫Ich habe ein völlig
‫neues Thema auf meiner Website, das das Bootstrap-Framework von Twitter verwendet, ein recht beliebtes Template-System für CSS und
‫Websites.
‫Also funktioniert alles wie es sollte.
‫Wenn ich
‫zurückgegangen bin und dies tatsächlich gestoppt, abgebrochen und dann einen Down ausgeführt habe, werden die Bilder tatsächlich gelöscht.
‫Denken Sie jedoch daran, dass die Daten nicht gelöscht werden.
‫Wenn ich einen Docker neu
‫zusammenstellen würde, müssten all diese Konfigurationsdateien in den Drupal-Modulen und -Profilen sowie Sites und Themes und dann die Daten,
‫die sich tatsächlich in der Datenbank befinden, noch vorhanden sein.
‫Ich sollte in der Lage sein, Refresh zu drücken und es funktioniert immer noch.
‫Das Tolle an dieser Methode
‫ist, dass Sie Ihre Bilder und Ihre Behälter relativ sauber halten können.
‫Wenn Sie zwischen
‫Projekten wechseln, können Sie auf diese Weise diese Dinge technisch loswerden und sie einfach in Ruhe lassen ... die Bände ... die Bände allein ... lösche nicht die Daten in ihnen. Lassen Sie die Volumes einfach in Ruhe und löschen Sie ihre
‫Daten nicht.
‫Wenn Sie dann zum Projekt
‫zurückkehren, sind bereits alle Beispieldaten vorhanden und Sie fangen nicht bei Null an.
‫Gut. Das ist es.