使用 Docker Compose 進行主題開發和站點構建。
成為我們的資助者或贊助商,以支持我們的工作。
你首先需要為你的主題和站點選擇適當的鏡像標籤,本文以 hugomods/hugo:exts-non-root
為例。
接著於項目根目錄下創建 docker-compose.yml
。
1name: mysite
2
3services:
4 server:
5 image: hugomods/hugo:exts-non-root
6 command: server -D
7 volumes:
8 - ./:/src
9 - ~/hugo_cache:/tmp/hugo_cache
10 ports:
11 - 1313:1313
請注意當使用 hugo server
時 --bind 0.0.0.0
是必須的,否則 Hugo 服務器可能無法接收任何來自宿主機的請求。
自 0.136.2
起,server
和 hugo server
均默認綁定 0.0.0.0
。
自 0.128.0
,server
可作為 hugo server
的別名使用,其默認綁定 0.0.0.0
。
-v ./:/src
將當前目錄掛載到容器的默認工作目錄(/src
)。-v ~/hugo_cache:/tmp/hugo_cache
將 $HOME/hugo_cache
掛載到默認的 cacheDir
(/tmp/hugo_cache
)以提高構建性能。若你的站點和主題並不需要安裝依賴,則跳過。
你或許需要在啟動 Hugo 服務器前安裝依賴,比如通過 NPM 安裝依賴。
1docker compose run server npm i
npm i
是 npm install
的快捷方式,其替換了 server
服務的默認命令。1docker compose up server
1docker compose run server /bin/sh