使用 Docker Compose 進行開發

使用 Docker Compose 進行主題開發和站點構建。

贊助

成為我們的資助者或贊助商,以支持我們的工作。

贊助商

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

創建 Docker Compose 文件

接著於項目根目錄下創建 docker-compose.yml

docker-compose.yml
  <div class="highlight"><pre tabindex="0" class="chroma"><code class="language-yml" data-lang="yml"><span class="line"><span class="ln"> 1</span><span class="cl"><span class="nt">name</span><span class="p">:</span><span class="w"> </span><span class="l">mysite</span><span class="w">

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

  1. -v ./:/src 將當前目錄掛載到容器的默認工作目錄/src)。
  2. -v ~/hugo_cache:/tmp/hugo_cache$HOME/hugo_cache 掛載到默認的 cacheDir/tmp/hugo_cache)以提高構建性能。

安裝依賴(可選)

你或許需要在啟動 Hugo 服務器前安裝依賴,比如通過 NPM 安裝依賴。

1docker compose run server npm i
  1. npm inpm install 的快捷方式,其替換了 server 服務的默認命令。

啟動 Hugo 服務器

1docker compose up server

啟動交互式 Shell

1docker compose run server /bin/sh