使用 Docker Compose 进行主题开发和站点构建。
你首先需要为你的主题和站点选择适当的镜像标签,本文以 hugomods/hugo:exts
为例。
接着于项目根目录下创建 docker-compose.yml
。
1name: my-site
2
3services:
4 server:
5 image: hugomods/hugo:exts
6 command: hugo server --bind 0.0.0.0
7 volumes:
8 - $PWD:/src
9 - $HOME/hugo_cache:/tmp/hugo_cache
10 ports:
11 - 1313:1313
请注意 --bind 0.0.0.0
是必须的,否则 Hugo 服务器可能无法接收任何来自宿主机的请求。
自 0.128.0
,server
可作为 hugo server
的别名使用,其默认绑定 0.0.0.0
。
-v ${PWD}:/src
将当前目录挂载到容器的默认工作目录(/src
)。$HOME/hugo_cache:/tmp/hugo_cache
将 $HOME/hugo_cache
挂载到默认的 cacheDir
(/tmp/hugo_cache
)以提高构建性能。若你的站点和主题并不需要安装依赖,则跳过。
你或许需要在启动 Hugo 服务器前安装依赖,比如通过 NPM 安装依赖。
1docker compose run server npm i
npm i
是 npm install
的快捷方式,其替换了 server
服务的默认命令。1docker compose up server