使用 Docker run 命令進行主題開發和站點構建。
你首先需要為你的主題和站點選擇適當的鏡像標籤,本文以 hugomods/hugo:exts
為例。
將當前工作目錄更改為項目根目錄。
1cd my-site
後續步驟均於你的項目根目錄下執行。
若你的站點和主題並不需要安裝依賴,則跳過。
你或許需要在啟動 Hugo 服務器前安裝依賴,比如通過 NPM 安裝依賴。
1docker run \
2 -v ${PWD}:/src \
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4 hugomods/hugo:exts \
5 npm i
1docker run `
2 -v ${PWD}:/src `
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4 hugomods/hugo:exts `
5 npm i
-v ${PWD}:/src
將當前目錄掛載到容器的默認工作目錄(/src
)。$HOME/hugo_cache:/tmp/hugo_cache
將 $HOME/hugo_cache
掛載到默認的 cacheDir
(/tmp/hugo_cache
)以提高構建性能。npm i
是 npm install
的快捷方式,其替換了容器的默認命令(hugo version
)。1docker run -p 1313:1313 \
2 -v ${PWD}:/src \
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4 hugomods/hugo:exts \
5 hugo server --bind 0.0.0.0
1docker run -p 1313:1313 `
2 -v ${PWD}:/src `
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4 hugomods/hugo:exts `
5 hugo server --bind 0.0.0.0
請注意 --bind 0.0.0.0
是必須的,否則 Hugo 服務器可能無法接收任何來自宿主機的請求。
自 0.128.0
,server
可作為 hugo server
的別名使用,其默認綁定 0.0.0.0
。
-p port:port
將容器端口映射到宿主機端口。使用 1313
以外的端口,如 8080
:
1docker run -p 8080:8080 \
2 -v ${PWD}:/src \
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4 hugomods/hugo:exts \
5 hugo server --bind 0.0.0.0 -p 8080
1docker run -p 8080:8080 `
2 -v ${PWD}:/src `
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4 hugomods/hugo:exts `
5 hugo server --bind 0.0.0.0 -p 8080