使用 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