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.
Installation de VS Code Référence: Introduction à Docker avec VS Code
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.
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. https://hub.docker.com/r/klakegg/hugo/
docker-compose.yml
Créez docker-compose.yml
basé sur l'exemple suivant décrit dans klakegg / hugo
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
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.
Assurez-vous que Docker est en cours d'exécution et exécutez la commande suivante
docker-compose up -d
Le conteneur a été créé! Cliquez sur Attach Shell pour entrer dans le conteneur que vous avez créé Entrez "hugo version" et OK si la version hugo est retournée
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.
Dans Hugo 0.74.3, hugo est appelé avec ENTRYPOINT. Je veux exécuter la commande "hugo" à tout moment, pas au démarrage
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
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éé.
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
.
J'ai expliqué comment écrire docker-compose.yml Présentation de Docker Hub Référence du fichier de composition
Recommended Posts