使用 Docker Run 命令進行開發

使用 Docker run 命令進行主題開發和站點構建。

你首先需要為你的主題和站點選擇適當的鏡像標籤,本文以 hugomods/hugo:exts-non-root 為例。

更改當前工作目錄

將當前工作目錄更改為項目根目錄。

1cd mysite

啟動交互式 Shel(可選)

通過交互式 Shell,你可以:

  1. 通過 NPM/Yarn 安裝依賴。
  2. 創建內容。
  3. 更新和整理 Hugo 模塊。
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
  1. -v ${PWD}:/src 將當前目錄掛載到容器的默認工作目錄/src)。
  2. $HOME/hugo_cache:/tmp/hugo_cache$HOME/hugo_cache 掛載到默認的 cacheDir/tmp/hugo_cache)以提高構建性能。

啟動 Hugo 服務器

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

停止 Hugo 服務器

1docker stop mysite

連接 Hugo 服務器

連接到一個運行中的 Hugo 服務器。

1docker start -a mysite