使用 Docker Run 命令进行开发

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

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

更改当前工作目录

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

1cd my-site

安装依赖(可选)

你或许需要在启动 Hugo 服务器前安装依赖,比如通过 NPM 安装依赖。

1docker run \
2  -v ${PWD}:/src \
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4  hugomods/hugo:exts \
5  npm i
1docker run `
2  -v ${PWD}:/src `
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4  hugomods/hugo:exts `
5  npm i
  1. -v ${PWD}:/src 将当前目录挂载到容器的默认工作目录/src)。
  2. npm inpm install 的快捷方式,其替换了容器的默认命令hugo version)。

启动 Hugo 服务器

1docker run -p 1313:1313 \
2  -v ${PWD}:/src \
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4  hugomods/hugo:exts \
5  hugo server --bind 0.0.0.0
1docker run -p 1313:1313 `
2  -v ${PWD}:/src `
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4  hugomods/hugo:exts `
5  hugo server --bind 0.0.0.0
  1. -p port:port 将容器端口映射到宿主机端口。

使用 1313 以外的端口,如 8080

1docker run -p 8080:8080 \
2  -v ${PWD}:/src \
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache \
4  hugomods/hugo:exts \
5  hugo server --bind 0.0.0.0 -p 8080
1docker run -p 8080:8080 `
2  -v ${PWD}:/src `
3  -v ${HOME}/hugo_cache:/tmp/hugo_cache `
4  hugomods/hugo:exts `
5  hugo server --bind 0.0.0.0 -p 8080