In diesem Artikel fasse ich das Verfahren zum Erstellen einer virtuellen Umgebung zum Ausführen von Hugo (statischer Site-Generator) mit Docker zusammen.
VS Code Installation Referenz: Einführung in Docker mit VS-Code
Um eine virtuelle Umgebung mit Docker zu erstellen, muss "docker-compose.yml" erstellt werden. In dieser Datei müssen das zu verwendende Bild (Material, das die virtuelle Umgebung erstellt) und die detaillierten Einstellungen beschrieben werden. Docker Hub ist ein Docker-Image-Speicherbereich.
Überprüfen Sie, ob ein Image vorhanden ist, das bereits beim Erstellen einer Umgebung mit Docker verwendet werden kann
Auf Hugos offizieller Website habe ich mit Docker gesucht und ein vom Beamten empfohlenes Bild gefunden. Verwenden Sie daher Folgendes. https://hub.docker.com/r/klakegg/hugo/
Erstellen Sie "docker-compose.yml" basierend auf dem folgenden Beispiel, das in klakegg / hugo beschrieben ist.
In diesem Artikel besteht das Ziel darin, den Befehl "hugo" in einer virtuellen Umgebung zu drücken. Deshalb habe ich ihn wie folgt geschrieben. Der Grund für die Auswahl des Bildes wird unten angezeigt.
docker-compose.yml
version: '3'
services:
hugo:
image: klakegg/hugo:0.74.3-ubuntu
volumes:
- ".:/src"
entrypoint: bash
ports:
- "1313:1313"
tty: true
working_dir: /src
Über jedes Tag
.yml:docker-compose.yml
version: '3' #Die neueste Version ist'3'
services: #Fest
servicename: #Geben Sie den Namen eines Dienstes an
image:Bildname:Verlinke den Namen#Geben Sie das Image an, das von Docker Hub verwendet werden soll
volumes:
-Lokaler Ordnerpfad:Pfad des Containerordners#Verknüpfen von lokalen und virtuellen Maschinenordnern
entrypoint:wird bearbeitet# entrypoint:Beschrieben, wann Sie den Standardeinstiegspunkt überschreiben möchten
ports: #Weil ich "hugo server" ausführen möchte
- "Host-Seite: Containerseite"
tty: true #Erforderlich beim Betreten eines Containers mit Attach Shell
working_dir:Pfad des Containerordners#Arbeitsverzeichnis im Container
Mit "hugo server" können Sie den von hugo erstellten Bildschirm überprüfen. Daher wird standardmäßig Port 1313 verwendet. Um jedoch den Server zu verwenden, der auf der Containerseite lokal gestartet wurde, müssen die lokalen Ports und die Containerports miteinander verbunden werden.
Stellen Sie sicher, dass Docker ausgeführt wird, und führen Sie den folgenden Befehl aus
docker-compose up -d
Der Container wurde erstellt! Klicken Sie auf Shell anhängen, um den von Ihnen erstellten Container einzugeben Geben Sie "hugo version" und OK ein, wenn die hugo version zurückgegeben wird
klakegg / hugo: 0.74.3-ubuntu
Anfangs habe ich überlegt, [Hugo 0.74.3: 0.74.3] in [Standard-Minimalbild basierend auf ** Busybox **:] zu verwenden, aber ich konnte den Befehl "bash" nicht verwenden. Daher haben wir [hugo: 0.74.3-ubuntu] übernommen, das diesen Befehl verwenden kann. Der Prozess, der zur Änderung führt, ist unten dargestellt.
In Hugo 0.74.3 wird hugo mit ENTRYPOINT aufgerufen. Ich möchte den Befehl "hugo" jederzeit ausführen, nicht beim Start
Überschreiben Sie den Einstiegspunkt des Bildes, indem Sie "entrypoint: bash" schreiben, und tun Sie beim Start nichts.
docker-compose.yml
version: '3'
services:
hugo:
image: klakegg/hugo:0.74.3
volumes:
- ".:/src"
entrypoint: bash
ports:
- "1313:1313"
tty: true
working_dir: /src
Führen Sie den Konstruktionsbefehl für die virtuelle Umgebung aus. Führen Sie den folgenden Befehl im Ordner docker-compose.yml aus
docker-compose up -d
Ein Fehler ist aufgetreten und der Container kann nicht erstellt werden.
Sie können den Befehl bash
nicht mit dem Standard-Tag BusyBox
verwenden
Aus diesem Grund haben wir klakegg / hugo: 0.74.3-ubuntu
übernommen, das den Befehl bash
verwenden kann.
Ich habe erklärt, wie man docker-compose.yml schreibt Übersicht über Docker Hub Referenz zum Verfassen von Dateien
Recommended Posts