[Docker] Création d'un environnement pour utiliser Hugo

Aperçu

Cet article résume les étapes de création d'un environnement virtuel pour exécuter Hugo (générateur de site statique) avec Docker.

environnement

Installation de VS Code Référence: Introduction à Docker avec VS Code

Vue d'ensemble

Afin de créer un environnement virtuel avec Docker, il est nécessaire de créer docker-compose.yml. Il est nécessaire de décrire l'image à utiliser (matériau qui crée l'environnement virtuel) et les paramètres détaillés dans ce fichier. Docker Hub est une zone de stockage d'images Docker. スクリーンショット 2020-10-06 17.11.13.png

procédure

Recherche d'images disponibles (matériaux pour créer des environnements virtuels (conteneurs))

Vérifiez s'il existe une image qui peut déjà être utilisée lors de la création d'un environnement avec Docker

Sur le site officiel d'Hugo, j'ai cherché avec Docker et j'ai trouvé une image recommandée par le fonctionnaire, alors utilisez ce qui suit. スクリーンショット 2020-09-15 15.24.17.png https://hub.docker.com/r/klakegg/hugo/

Créez docker-compose.yml

Créez docker-compose.yml basé sur l'exemple suivant décrit dans klakegg / hugo スクリーンショット 2020-09-15 15.31.22.png

Dans cet article, le but est d'appuyer sur la commande "hugo" dans un environnement virtuel, je l'ai donc écrit comme suit. La raison de la sélection de l'image est indiquée en bas.

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

À propos de chaque balise

.yml:docker-compose.yml


version: '3' #La dernière version est'3' 
services: #Fixé
    servicename: #Donnez le nom de n'importe quel service
        image:Nom de l'image:Nom de la balise#Spécifiez l'image à utiliser à partir de Docker Hub
        volumes:
            -Chemin du dossier local:Chemin du dossier du conteneur#Lier des dossiers de machine locale et virtuelle
        entrypoint:En traitement# entrypoint:Décrit lorsque vous souhaitez écraser le point d'entrée par défaut
        ports: #Parce que je veux exécuter "hugo server"
            - "Côté hôte: côté conteneur"
        tty: true      #Obligatoire lors de l'entrée dans un conteneur avec Attach Shell
        working_dir:Chemin du dossier du conteneur#Répertoire de travail dans le conteneur

Supplément sur le port

En utilisant "hugo server", vous pouvez vérifier l'écran créé par hugo. Par conséquent, le port 1313 est utilisé par défaut, mais pour utiliser localement le serveur démarré côté conteneur, il est nécessaire de connecter les ports local et conteneur. スクリーンショット 2020-09-16 11.00.52.png

Exécuter la commande de construction d'environnement virtuel

Assurez-vous que Docker est en cours d'exécution et exécutez la commande suivante

docker-compose up -d

スクリーンショット 2020-09-15 16.52.57.png Le conteneur a été créé! Cliquez sur Attach Shell pour entrer dans le conteneur que vous avez créé スクリーンショット 2020-09-15 17.33.48.png Entrez "hugo version" et OK si la version hugo est retournée スクリーンショット 2020-09-15 17.34.10.png

(Remarques) Raison de la définition de l'image sur klakegg / hugo: 0.74.3-ubuntu

Au départ, j'envisageais d'utiliser [Hugo 0.74.3: 0.74.3] dans [Image minimale par défaut basée sur ** Busybox **:], mais je ne pouvais pas utiliser la commande "bash". Par conséquent, nous avons adopté [hugo: 0.74.3-ubuntu], qui peut utiliser cette commande. Le processus menant au changement est illustré ci-dessous.

Vérifier les balises sur le hub Docker

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

Recherchez le contenu de l'image avec [Tags] et vérifiez

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

Dans Hugo 0.74.3, hugo est appelé avec ENTRYPOINT. スクリーンショット_2020-09-15_16_35_27.png Je veux exécuter la commande "hugo" à tout moment, pas au démarrage

Correction de docker-compose.yml

Remplacez le point d'entrée de l'image en écrivant entrypoint: bash et ne faites rien au démarrage.

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

Construire un environnement virtuel

Exécutez la commande de construction d'environnement virtuel. Exécutez la commande suivante dans le dossier de docker-compose.yml

docker-compose up -d

Une erreur s'est produite et le conteneur ne peut pas être créé.

スクリーンショット 2020-09-15 16.51.53.png Vous ne pouvez pas utiliser la commande bash avec la balise par défaut BusyBox Par conséquent, nous avons adopté klakegg / hugo: 0.74.3-ubuntu qui peut utiliser la commande bash.

référence

J'ai expliqué comment écrire docker-compose.yml Présentation de Docker Hub Référence du fichier de composition

Recommended Posts

[Docker] Création d'un environnement pour utiliser Hugo
[Rails] Comment créer un environnement avec Docker
Comment installer Pry après avoir créé un environnement de développement Rails avec Docker
[Docker] Utiliser des variables d'environnement dans Nginx conf
Construction de Rails 6 et environnement PostgreSQL avec Docker
Utiliser docker dans un environnement proxy sur ubuntu 20.04.1
Comment utiliser Docker dans VSCode DevContainer
Comment utiliser les variables d'environnement dans RubyOnRails
Créer un environnement avec Docker sur AWS
Créer un environnement de développement Ultra96v2 sur Docker 1
Comprendre en 5 minutes !! Comment utiliser Docker
Comment créer un environnement Rails 6 avec Docker
Problèmes auxquels j'étais accro lors de la création de l'environnement digdag avec docker
Apprentissage rapide de Java "Introduction?" Partie 1 Création d'un environnement
Comment utiliser un tableau pour les clés HashMap
[Résolution d'erreur] Se produit lors de la tentative de création d'un environnement pour le printemps avec docker
Rails6.0 ~ Comment créer un environnement de développement respectueux de l'environnement
Comment créer un environnement [TypeScript + Vue + Express + MySQL] avec Docker ~ Vue ~
[Rails] Création d'un environnement pour le développement d'applications Web
[Rails] Comment utiliser PostgreSQL dans l'environnement Vagrant
De la création d'un environnement cloud AWS au déploiement d'une application Spring Boot (pour les débutants)
Comment installer Docker dans l'environnement local d'une application Rails existante [Rails 6 / MySQL 8]
Comment utiliser git avec la puissance de jgit dans un environnement sans commandes git
Que faire lorsque les paramètres de routage ne fonctionnent pas après la création d'un environnement Docker avec Laravel
[Road_node.js_1-1] La voie de la création de l'environnement Node.js Express MySQL à l'aide de Docker
Comment utiliser un tableau pour la clé TreeMap
Comment créer un environnement Docker avec Gradle pour IntelliJ
Créez un environnement Ruby2.7.x + Rails6.0.x + MySQL8.0.x avec Docker
[Environnement Docker] Comment gérer ActiveSupport :: MessageEncryptor :: InvalidMessage
Créer un environnement de test E2E avec Docker x Cypress
Utilisez Maven pour ajouter votre bibliothèque Java préférée à votre environnement.
Mémo de commande pour installer xeyes dans l'environnement docker ubuntu
Rails6 J'ai essayé d'introduire Docker dans une application existante
Essayez de créer un environnement de développement Java à l'aide de Docker
Les débutants utilisent ubuntu dans la fenêtre pour préparer l'environnement des rails
Comment utiliser Map
Comment utiliser rbenv
Construction de l'environnement Rails Docker
Comment utiliser with_option
Comment utiliser fields_for
Comment utiliser la carte
Comment utiliser collection_select