[Docker] Erstellen einer Umgebung für Hugo

Überblick

In diesem Artikel fasse ich das Verfahren zum Erstellen einer virtuellen Umgebung zum Ausführen von Hugo (statischer Site-Generator) mit Docker zusammen.

Umgebung

VS Code Installation Referenz: Einführung in Docker mit VS-Code

Gesamtbild

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. スクリーンショット 2020-10-06 17.11.13.png

Verfahren

Suche nach verfügbaren Bildern (Materialien zum Erstellen virtueller Umgebungen (Container))

Ü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. スクリーンショット 2020-09-15 15.24.17.png https://hub.docker.com/r/klakegg/hugo/

Erstellen Sie "docker-compose.yml"

Erstellen Sie "docker-compose.yml" basierend auf dem folgenden Beispiel, das in klakegg / hugo beschrieben ist. スクリーンショット 2020-09-15 15.31.22.png

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

Beilage zum Hafen

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. スクリーンショット 2020-09-16 11.00.52.png

Führen Sie den Befehl zum Erstellen einer virtuellen Umgebung aus

Stellen Sie sicher, dass Docker ausgeführt wird, und führen Sie den folgenden Befehl aus

docker-compose up -d

スクリーンショット 2020-09-15 16.52.57.png Der Container wurde erstellt! Klicken Sie auf Shell anhängen, um den von Ihnen erstellten Container einzugeben スクリーンショット 2020-09-15 17.33.48.png Geben Sie "hugo version" und OK ein, wenn die hugo version zurückgegeben wird スクリーンショット 2020-09-15 17.34.10.png

(Anmerkungen) Grund für die Einstellung des Bildes auf 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.

Überprüfen Sie die Tags auf dem Docker-Hub

スクリーンショット_2020-09-15_16_32_42.png

Suchen Sie mit [Tags] nach dem Inhalt des Bildes und überprüfen Sie

スクリーンショット 2020-09-15 16.35.44.png

In Hugo 0.74.3 wird hugo mit ENTRYPOINT aufgerufen. スクリーンショット_2020-09-15_16_35_27.png Ich möchte den Befehl "hugo" jederzeit ausführen, nicht beim Start

Fix docker-compose.yml

Ü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

Aufbau einer virtuellen Umgebung

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.

スクリーンショット 2020-09-15 16.51.53.png 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.

Referenz

Ich habe erklärt, wie man docker-compose.yml schreibt Übersicht über Docker Hub Referenz zum Verfassen von Dateien

Recommended Posts

[Docker] Erstellen einer Umgebung für Hugo
[Rails] So erstellen Sie eine Umgebung mit Docker
So installieren Sie Pry nach dem Erstellen einer Rails-Entwicklungsumgebung mit Docker
[Docker] Verwenden Sie Umgebungsvariablen in Nginx conf
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Verwenden Sie Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
Verwendung von Docker in VSCode DevContainer
Verwendung von Umgebungsvariablen in RubyOnRails
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie eine Ultra96v2-Entwicklungsumgebung auf Docker 1
Verstehe in 5 Minuten !! Wie man Docker benutzt
So erstellen Sie eine Rails 6-Umgebung mit Docker
Probleme, denen ich beim Erstellen der Digdag-Umgebung mit Docker verfallen war
Schnelles Lernen von Java "Einführung?" Teil 1 Erstellen einer Umgebung
So verwenden Sie ein Array für HashMap-Schlüssel
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
Rails6.0 ~ So erstellen Sie eine umweltfreundliche Entwicklungsumgebung
So erstellen Sie mit Docker ~ Vue ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
[Rails] Erstellen einer Umgebung für die Entwicklung von Webanwendungen
[Rails] Verwendung von PostgreSQL in einer Vagrant-Umgebung
Vom Aufbau einer AWS-Cloud-Umgebung bis zur Bereitstellung einer Spring Boot-App (für Anfänger)
So installieren Sie Docker in der lokalen Umgebung einer vorhandenen Rails-App [Rails 6 / MySQL 8]
Verwendung von git mit der Leistung von jgit in einer Umgebung ohne git-Befehle
Was tun, wenn die Routing-Einstellungen nach dem Erstellen einer Docker-Umgebung mit Laravel nicht funktionieren?
[Road_node.js_1-1] Der Weg zum Erstellen der Node.js Express MySQL-Umgebung mit Docker
So verwenden Sie ein Array für den TreeMap-Schlüssel
So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
Erstellen Sie mit Docker eine Ruby2.7.x + Rails6.0.x + MySQL8.0.x-Umgebung
[Docker-Umgebung] Umgang mit ActiveSupport :: MessageEncryptor :: InvalidMessage
Erstellen Sie mit Docker x Cypress eine E2E-Testumgebung
Verwenden Sie Maven, um Ihrer Umgebung Ihre bevorzugte Java-Bibliothek hinzuzufügen.
Befehlsnotiz zum Installieren von xeyes in der Ubuntu-Docker-Umgebung
Rails6 Ich habe versucht, Docker in eine vorhandene Anwendung einzuführen
Versuchen Sie, mit Docker eine Java-Entwicklungsumgebung zu erstellen
Anfänger verwenden Ubuntu im Fenster, um die Schienenumgebung vorzubereiten
Verwendung von Map
Wie benutzt man rbenv?
Aufbau der Rails Docker-Umgebung
Verwendung mit_option
Verwendung von fields_for
Verwendung der Karte
Verwendung von collection_select