使用 Docker Compose 进行主题开发和站点构建。
成为我们的资助者或赞助商,以支持我们的工作。
你首先需要为你的主题和站点选择适当的镜像标签,本文以 hugomods/hugo:exts-non-root
为例。
接着于项目根目录下创建 docker-compose.yml
。
1name: mysite
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
请注意当使用 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
。
-v ./:/src
将当前目录挂载到容器的默认工作目录(/src
)。-v ~/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
1docker compose run server /bin/sh