使用 Docker run 命令進行主題開發和站點構建。
成為我們的資助者或贊助商,以支持我們的工作。
你首先需要為你的主題和站點選擇適當的鏡像標籤,本文以 hugomods/hugo:exts-non-root
為例。
將當前工作目錄更改為項目根目錄。
1cd mysite
後續步驟均於你的項目根目錄下執行。
通過交互式 Shell,你可以:
1docker run -it \
2 -v ${PWD}:/src \
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4 hugomods/hugo:exts-non-root \
5 /bin/sh
1docker run -it `
2 -v ${PWD}:/src `
3 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4 hugomods/hugo:exts-non-root `
5 /bin/sh
-v ${PWD}:/src
將當前目錄掛載到容器的默認工作目錄(/src
)。$HOME/hugo_cache:/tmp/hugo_cache
將 $HOME/hugo_cache
掛載到默認的 cacheDir
(/tmp/hugo_cache
)以提高構建性能。警告
當於 *nix 系統執行時,你或許需要先建立
${HOME}/hugo_cache
目錄,否則可能遇到許可權問題。
1docker run --rm \
2 --name mysite \
3 -v ${PWD}:/src \
4 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
5 hugomods/hugo:exts-non-root \
6 server
1docker run --rm `
2 --name mysite `
3 -v ${PWD}:/src `
4 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
5 hugomods/hugo:exts-non-root `
6 server
請注意當使用 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
。
-p port:port
將容器端口映射到宿主機端口。使用 1313
以外的端口,如 8080
:
1docker run --rm \
2 --name mysite \
3 -p 8080:8080 \
4 -v ${PWD}:/src \
5 -v ${HOME}/hugo_cache:/tmp/hugo_cache \
6 hugomods/hugo:exts-non-root \
7 server -p 8080
1docker run --rm `
2 --name mysite `
3 -p 8080:8080 `
4 -v ${PWD}:/src `
5 -v ${HOME}/hugo_cache:/tmp/hugo_cache `
6 hugomods/hugo:exts-non-root `
7 server -p 8080
1docker stop mysite
連接到一個運行中的 Hugo 服務器。
1docker start -a mysite