hashicorp/consul-websitehashicorp/consul-docs-builder 是用于构建 Consul 文档网站的专用 Docker 镜像。该镜像集成了 Consul 文档构建所需的全套工具链(基于 Hugo 静态站点生成器),支持文档源文件编译、本地预览及静态资源生成,旨在简化 Consul 文档的开发、测试与部署流程。
1.15.x、1.16.x)。website 目录)。挂载本地文档源目录,启动开发服务器并映射端口至本地,实时预览修改:
bashdocker run -it --rm \ -v /path/to/local/consul/website:/docs/source \ # 挂载本地文档源目录 -p 1313:1313 \ # 映射开发服务器端口(默认 1313) -e DOCS_VERSION=1.17.x \ # 指定构建的文档版本 hashicorp/consul-docs-builder \ hugo server --bind 0.0.0.0 --source /docs/source # 启动 Hugo 开发服务器
执行后,访问 http://localhost:1313 即可预览文档,修改本地源文件后页面将自动刷新。
生成静态 HTML 文件并输出到本地目录,用于部署:
bashdocker run -it --rm \ -v /path/to/local/consul/website:/docs/source \ # 挂载源文件目录 -v /path/to/output:/docs/output \ # 挂载输出目录(静态文件将生成至此) -e OUTPUT_DIR=/docs/output \ # 指定容器内输出路径(需与挂载路径一致) -e DOCS_VERSION=latest \ # 构建 "latest" 版本文档 hashicorp/consul-docs-builder \ hugo --source /docs/source --destination ${OUTPUT_DIR} # 执行构建命令
构建完成后,静态文件将生成至本地 /path/to/output 目录。
创建 docker-compose.yml,简化本地开发环境启动:
yamlversion: '3.8' services: consul-docs: image: hashicorp/consul-docs-builder volumes: - ./consul/website:/docs/source # 本地文档源目录(需替换为实际路径) - ./docs-output:/docs/output # 静态文件输出目录(可选) ports: - "1313:1313" # 开发服务器端口映射 environment: - DOCS_VERSION=1.17.x # 文档版本 - PORT=1313 # 开发服务器端口(默认 1313) command: hugo server --bind 0.0.0.0 --source /docs/source # 启动开发模式
启动命令:
bashdocker-compose up
| 环境变量名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
DOCS_VERSION | 指定构建的 Consul 文档版本 | latest | 1.16.x |
SOURCE_DIR | 容器内文档源文件目录 | /docs/source | /custom/source |
OUTPUT_DIR | 静态文件输出目录(生产模式) | /docs/output | /tmp/docs |
PORT | 开发服务器监听端口 | 1313 | 8080 |
HUGO_ENV | Hugo 环境模式(development/production) | development | production |
--user $(id -u):$(id -g) 调整容器用户)。node_modules 或 Hugo 缓存目录挂载至本地,加速后续构建。consul-docs-builder 可能对应不同的 Hugo 版本,需与本地文档源的 Hugo 版本匹配(参考 Consul 文档仓库的 netlify.toml 或 hugo.toml 配置)。HUGO_ENV=production,Hugo 将自动压缩静态资源(CSS/JS/HTML)以减小文件体积。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务