本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

基于Alpine Linux的轻量级多阶段构建Docker镜像,包含terraform-docs工具及其扩展功能terraform-docs-replace。该工具用于生成Terraform模块的文档,并能在文件中自动安全地替换生成的文档内容。镜像支持多架构,提供多个稳定版本,每日构建并推送到Docker Hub,兼容Terraform >=0.12,适用于CI/CD和自动化文档生成场景。
amd64、i386、arm64、arm/v7、arm/v6(不同版本架构支持可能不同)terraform-docs-replace,可在文件中指定分隔符之间自动更新文档块terraform-docs-012命令)和旧版本(terraform-docs命令)| Docker标签 | Git引用 | Terraform Docs版本 | 可用架构 |
|---|---|---|---|
latest | master | latest | amd64, i386, arm64, arm/v7, arm/v6 |
0.16.0 | master | 0.16.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.15.0 | master | 0.15.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.14.1 | master | 0.14.1 | amd64, i386, arm64, arm/v7, arm/v6 |
0.14.0 | master | 0.14.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.13.0 | master | 0.13.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.12.1 | master | 0.12.1 | amd64, i386, arm64, arm/v7, arm/v6 |
0.12.0 | master | 0.12.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.11.2 | master | 0.11.2 | amd64 |
0.11.1 | master | 0.11.1 | amd64 |
0.11.0 | master | 0.11.0 | amd64 |
0.10.1 | master | 0.10.1 | amd64 |
0.10.0 | master | 0.10.0 | amd64 |
0.9.1 | master | 0.9.1 | amd64 |
0.9.0 | master | 0.9.0 | amd64 |
0.8.2 | master | 0.8.2 | amd64 |
0.8.1 | master | 0.8.1 | amd64 |
0.8.0 | master | 0.8.0 | amd64 |
0.7.0 | master | 0.7.0 | amd64 |
0.6.0 | master | 0.6.0 | amd64 |
0.5.0 | master | 0.5.0 | amd64 |
0.4.5 | master | 0.4.5 | amd64 |
0.4.0 | master | 0.4.0 | amd64 |
0.3.0 | master | 0.3.0 | amd64 |
0.2.0 | master | 0.2.0 | amd64 |
0.1.1 | master | 0.1.1 | amd64 |
0.1.0 | master | 0.1.0 | amd64 |
| Docker标签 | Git引用 | Terraform Docs版本 | 可用架构 |
|---|---|---|---|
latest-0.32 | tag: 0.32 | latest | amd64, i386, arm64, arm/v7, arm/v6 |
0.16.0-0.32 | tag: 0.32 | 0.16.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.15.0-0.32 | tag: 0.32 | 0.15.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.14.1-0.32 | tag: 0.32 | 0.14.1 | amd64, i386, arm64, arm/v7, arm/v6 |
0.14.0-0.32 | tag: 0.32 | 0.14.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.13.0-0.32 | tag: 0.32 | 0.13.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.12.1-0.32 | tag: 0.32 | 0.12.1 | amd64, i386, arm64, arm/v7, arm/v6 |
0.12.0-0.32 | tag: 0.32 | 0.12.0 | amd64, i386, arm64, arm/v7, arm/v6 |
0.11.2-0.32 | tag: 0.32 | 0.11.2 | amd64 |
0.11.1-0.32 | tag: 0.32 | 0.11.1 | amd64 |
0.11.0-0.32 | tag: 0.32 | 0.11.0 | amd64 |
0.10.1-0.32 | tag: 0.32 | 0.10.1 | amd64 |
0.10.0-0.32 | tag: 0.32 | 0.10.0 | amd64 |
0.9.1-0.32 | tag: 0.32 | 0.9.1 | amd64 |
0.9.0-0.32 | tag: 0.32 | 0.9.0 | amd64 |
0.8.2-0.32 | tag: 0.32 | 0.8.2 | amd64 |
0.8.1-0.32 | tag: 0.32 | 0.8.1 | amd64 |
0.8.0-0.32 | tag: 0.32 | 0.8.0 | amd64 |
0.7.0-0.32 | tag: 0.32 | 0.7.0 | amd64 |
0.6.0-0.32 | tag: 0.32 | 0.6.0 | amd64 |
0.5.0-0.32 | tag: 0.32 | 0.5.0 | amd64 |
0.4.5-0.32 | tag: 0.32 | 0.4.5 | amd64 |
0.4.0-0.32 | tag: 0.32 | 0.4.0 | amd64 |
0.3.0-0.32 | tag: 0.32 | 0.3.0 | amd64 |
0.2.0-0.32 | tag: 0.32 | 0.2.0 | amd64 |
0.1.1-0.32 | tag: 0.32 | 0.1.1 | amd64 |
0.1.0-0.32 | tag: 0.32 | 0.1.0 | amd64 |
| 变量名 | 默认值 | 是否必须 | 说明 |
|---|---|---|---|
| DELIM_START | <!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> | 否 | 文件中用于标识文档块开始的分隔符 |
| DELIM_CLOSE | <!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --> | 否 | 文件中用于标识文档块结束的分隔符 |
容器内工作目录为/data/,需将本地Terraform模块所在目录挂载到此路径,以便工具访问模块文件:
-v $(pwd):/data
Usage: cytopia/terraform-docs terraform-docs <ARGS> . cytopia/terraform-docs terraform-docs-012 <ARGS> . cytopia/terraform-docs terraform-docs-replace <ARGS> <PATH-TO-FILE> cytopia/terraform-docs terraform-docs-replace-012 <ARGS> <PATH-TO-FILE> terraform-docs 标准terraform-docs输出(适用于Terraform <0.12) terraform-docs-012 适用于Terraform >=0.12的terraform-docs输出 terraform-docs-replace 在文件中替换文档块(适用于Terraform <0.12) terraform-docs-replace-012 在文件中替换文档块(适用于Terraform >=0.12) <ARGS> terraform-docs支持的所有参数 <PATH-TO-FILE> 要替换文档块的文件路径
生成Markdown格式文档并输出到标准输出:
# [Terraform < 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs --sort-by-required md . # [Terraform >= 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs-012 --sort-by-required md .
将生成的文档保存到文件(如README.md):
# [Terraform < 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs --sort-by-required md . > README.md # [Terraform >= 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs-012 --sort-by-required md . > README.md
在现有文件(如README.md)中替换文档块,需确保文件中包含默认分隔符:
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --> ## Inputs ... <!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
执行替换命令:
# [Terraform < 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs-replace --sort-by-required md README.md # [Terraform >= 0.12] docker run --rm \ -v $(pwd):/data \ cytopia/terraform-docs \ terraform-docs-replace-012 --sort-by-required md README.md
通过环境变量自定义分隔符,例如INFO.md中使用<!-- TFDOC_START -->和<!-- TFDOC_END -->:
# [Terraform < 0.12] docker run --rm \ -v $(pwd):/data \ -e DELIM_START='<!-- TFDOC_START -->' \ -e DELIM_CLOSE='<!-- TFDOC_END -->' \ cytopia/terraform-docs \ terraform-docs-replace --sort-by-required md INFO.md # [Terraform >= 0.12] docker run --rm \ -v $(pwd):/data \ -e DELIM_START='<!-- TFDOC_START -->' \ -e DELIM_CLOSE='<!-- TFDOC_END -->' \ cytopia/terraform-docs \ terraform-docs-replace-012 --sort-by-required md INFO.md
以下项目展示了如何在CI中使用此镜像验证README.md是否更新了最新文档:
以下是相关的CI工具Docker镜像,可用于代码分析和自动化测试:
| GitHub | DockerHub | 类型 | 描述 |
|---|---|---|---|
| [awesome-ci][aci-git-lnk] | [![aci-hub-img]][aci-hub-lnk] | 基础工具 | 用于Git、文件和静态代码分析的工具集 |
| [file-lint][flint-git-lnk] | [![flint-hub-img]][flint-hub-lnk] | 基础分析 | 基础源代码分析工具 |
| [linkcheck][linkcheck-git-lnk] | [![linkcheck-hub-img]][linkcheck-hub-lnk] | 基础工具 | 搜索文件中的URL并验证其HTTP状态码 |
| [ansible][ansible-git-lnk] | [![ansible-hub-img]][ansible-hub-lnk] | Ansible | 多版本和风格的Ansible |
| [ansible-lint][alint-git-lnk] | [![alint-hub-img]][alint-hub-lnk] | Ansible | Ansible代码检查工具 |
| [gofmt][gfmt-git-lnk] | [![gfmt-hub-img]][gfmt-hub-lnk] | Go | Go源代码格式化工具 [1] |
| [goimports][gimp-git-lnk] | [![gimp-hub-img]][gimp-hub-lnk] | Go | Go源代码格式化工具 [1] |
| [golint][glint-git-lnk] | [![glint-hub-img]][glint-hub-lnk] | Go | Go代码检查工具 |
| [eslint][elint-git-lnk] | [![elint-hub-img]][elint-hub-lnk] | JavaScript | JavaScript代码检查工具 |
| [jsonlint][jlint-git-lnk] | [![jlint-hub-img]][jlint-hub-lnk] | JSON | JSON文件检查工具 **[1]</ |
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429