使用 Docker Run 命令进行开发

使用 Docker run 命令进行主题开发和站点构建。

你首先需要为你的主题和站点选择适当的镜像标签,本文以 hugomods/hugo:exts-non-root 为例。

更改当前工作目录

将当前工作目录更改为项目根目录。

1cd mysite

启动交互式 Shell(可选)

通过交互式 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