使用 Docker Run 命令進行開發

使用 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
  1. -v ${PWD}:/src 將當前目錄掛載到容器的默認工作目錄/src)。
  2. $HOME/hugo_cache:/tmp/hugo_cache$HOME/hugo_cache 掛載到默認的 cacheDir/tmp/hugo_cache)以提高構建性能。
  3. npm inpm install 的快捷方式,其替換了容器的默認命令hugo version)。

啟動 Hugo 服務器

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
  1. -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