使用docker compose建置(build)hugo靜態網站

Hugo是一套以golang語言撰寫可快速建置靜態網站的框架,官方副標如下:

The world’s fastest framework for building websites

Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.

而近期幫忙建置 中華易經天書三式協會網站 https://ichingtrilogy.com 即使用hugo來完成。


使用hugo建置網站的主程式需要使用golang,所需版本與我本機環境golang會有衝突,就有必要透過container來跑另一個版本golang來建置網站。而compose又提供一個簡單指令docker compose up就能完成

1. 配置Dockerfile

這裡使用的Dockerfile是由 CaiJimmy/hugo-theme-stack 所提供的,請將Dockerfile下載回來放置到 .devcontainer/Dockerfile 中。

2. 配置docker-compose.yml

並將以下compose file命名為 docker-compose.yml

version: "3.8"

# docker-compose up

services:
app:
build:
context: .
dockerfile: .devcontainer/Dockerfile
# change below if your id not 1000
user: 1000:1000
command: sh -c "/usr/bin/hugo --minify -s /usr/src/app"
working_dir: /usr/src/app
volumes:
- .:/usr/src/app

上面內容中的user: 1000:1000 請依照你當前系統的使用者ID來修改,單一使用者應該都是1000,你可以透過在console鍵入 id 來查看你當前使用者ID

3. 建置hugo網站

docker compose up

如果指令報錯 no configuration file provided: not found,請用 -f 指定 compose file

docker compose -f docker-compose.yml up


4. 取得建置檔案

hugo預設建置目錄是public


留言