
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像为基于 Alpine Linux 的轻量级多阶段构建 Docker 镜像,包含 https://github.com/gruntwork-io/terragrunt 工具及其兼容版本的 https://github.com/hashicorp/terraform%E3%80%82%E6%97%A8%E5%9C%A8%E6%8F%90%E4%BE%9B%E5%8F%AF%E9%87%8D%E7%8E%B0%E7%9A%84%E8%BF%90%E8%A1%8C%E7%8E%AF%E5%A2%83%EF%BC%8C%E7%89%B9%E5%88%AB%E9%80%82%E7%94%A8%E4%BA%8E CI/CD 流程中基础设施即代码(IaC)的自动化部署、验证和管理,也可用于本地开发环境以确保工具版本一致性。
amd64、i386、arm64 架构支持,适配不同硬件环境init、plan、apply),实现基础设施自动化部署terragrunt validate、terragrunt plan 等命令,提前发现配置错误以下为滚动更新的 Docker 镜像标签,对应不同版本的 Terraform 和 Terragrunt:
| Docker 标签 | Git 分支 | Terraform 版本 | Terragrunt 版本 | 支持架构 |
|---|---|---|---|---|
latest | master | latest | latest | amd64, i386, arm64 |
1.3-0.40 | master | 1.3.x | 0.40.x | amd64, i386, arm64 |
1.3-0.39 | master | 1.3.x | 0.39.x | amd64, i386, arm64 |
1.2-0.39 | master | 1.2.x | 0.39.x | amd64, i386, arm64 |
1.2-0.38 | master | 1.2.x | 0.38.x | amd64, i386, arm64 |
1.2-0.37 | master | 1.2.x | 0.37.x | amd64, i386, arm64 |
1.1-0.38 | master | 1.1.x | 0.38.x | amd64, i386, arm64 |
1.1-0.37 | master | 1.1.x | 0.37.x | amd64, i386, arm64 |
1.1-0.36 | master | 1.1.x | 0.36.x | amd64, i386, arm64 |
1.1-0.35 | master | 1.1.x | 0.35.x | amd64, i386, arm64 |
1.0-0.38 | master | 1.0.x | 0.38.x | amd64, i386, arm64 |
1.0-0.37 | master | 1.0.x | 0.37.x | amd64, i386, arm64 |
1.0-0.36 | master | 1.0.x | 0.36.x | amd64, i386, arm64 |
1.0-0.35 | master | 1.0.x | 0.35.x | amd64, i386, arm64 |
1.0-0.34 | master | 1.0.x | 0.34.x | amd64, i386, arm64 |
1.0-0.33 | master | 1.0.x | 0.33.x | amd64, i386, arm64 |
1.0-0.32 | master | 1.0.x | 0.32.x | amd64, i386, arm64 |
1.0-0.31 | master | 1.0.x | 0.31.x | amd64, i386, arm64 |
0.15-0.34 | master | 0.15.x | 0.34.x | amd64, i386, arm64 |
0.15-0.33 | master | 0.15.x | 0.33.x | amd64, i386, arm64 |
0.15-0.32 | master | 0.15.x | 0.32.x | amd64, i386, arm64 |
0.15-0.31 | master | 0.15.x | 0.31.x | amd64, i386, arm64 |
0.15-0.30 | master | 0.15.x | 0.30.x | amd64, i386, arm64 |
0.15-0.29 | master | 0.15.x | 0.29.x | amd64, i386, arm64 |
0.14-0.34 | master | 0.14.x | 0.34.x | amd64, i386, arm64 |
0.14-0.33 | master | 0.14.x | 0.33.x | amd64, i386, arm64 |
0.14-0.32 | master | 0.14.x | 0.32.x | amd64, i386, arm64 |
0.14-0.31 | master | 0.14.x | 0.31.x | amd64, i386, arm64 |
0.14-0.30 | master | 0.14.x | 0.30.x | amd64, i386, arm64 |
0.14-0.29 | master | 0.14.x | 0.29.x | amd64, i386, arm64 |
0.14-0.28 | master | 0.14.x | 0.28.x | amd64, i386, arm64 |
0.14-0.27 | master | 0.14.x | 0.27.x | amd64, i386 |
0.13-0.34 | master | 0.13.x | 0.34.x | amd64, i386, arm64 |
0.13-0.33 | master | 0.13.x | 0.33.x | amd64, i386, arm64 |
0.13-0.32 | master | 0.13.x | 0.32.x | amd64, i386, arm64 |
0.13-0.31 | master | 0.13.x | 0.31.x | amd64, i386, arm64 |
0.13-0.30 | master | 0.13.x | 0.30.x | amd64, i386, arm64 |
0.13-0.29 | master | 0.13.x | 0.29.x | amd64, i386, arm64 |
0.13-0.28 | master | 0.13.x | 0.28.x | amd64, i386, arm64 |
0.13-0.27 | master | 0.13.x | 0.27.x | amd64, i386 |
0.13-0.26 | master | 0.13.x | 0.26.x | amd64, i386 |
0.13-0.25 | master | 0.13.x | 0.25.x | amd64, i386 |
0.12-0.24 | master | 0.12.x | 0.24.x | amd64, i386 |
0.12-0.23 | master | 0.12.x | 0.23.x | amd64, i386 |
0.12-0.22 | master | 0.12.x | 0.22.x | amd64, i386 |
0.12-0.21 | master | 0.12.x | 0.21.x | amd64, i386 |
0.12-0.20 | master | 0.12.x | 0.20.x | amd64, i386 |
0.12-0.19 | master | 0.12.x | 0.19.x | amd64, i386 |
0.11-0.18 | master | 0.11.x | 0.18.x | amd64, i386 |
容器内的工作目录为 /data/,需将本地 Terragrunt 项目目录挂载至此路径,以确保工具能访问项目文件。
bashdocker run --rm -v $(pwd):/data cytopia/terragrunt:<TAG> terragrunt <ARGS> docker run --rm -v $(pwd):/data cytopia/terragrunt:<TAG> terraform <ARGS>
--rm:容器退出后自动删除-v $(pwd):/data:将当前目录挂载到容器内 /data 目录<TAG>:指定 Docker 镜像标签(如 latest、1.3-0.40)<ARGS>:Terragrunt 或 Terraform 命令参数(如 init、plan、apply)1. 初始化 Terragrunt 项目
bashdocker run --rm -v $(pwd):/data cytopia/terragrunt terragrunt init
2. 执行 Terragrunt 计划
bashdocker run --rm -v $(pwd):/data cytopia/terragrunt:1.3-0.40 terragrunt plan
3. 应用 Terragrunt 配置
bashdocker run --rm -v $(pwd):/data cytopia/terragrunt terragrunt apply
4. 以非 root 用户运行(避免权限问题)
bashdocker run --rm -v $(pwd):/data -e RUN_NON_ROOT=1 -e UID=$(id -u) -e GID=$(id -g) cytopia/terragrunt terragrunt validate
| 变量名 | 默认值 | 描述 |
|---|---|---|
RUN_NON_ROOT | 0 | 设为 1 时以非 root 用户运行命令,避免容器内生成的文件权限为 root。 |
UID | 1000 | 非 root 用户的 UID(用户 ID),建议设为本地用户 UID(通过 id -u 获取)。 |
GID | 1000 | 非 root 用户的 GID(组 ID),建议设为本地用户 GID(通过 id -g 获取)。 |
创建 docker-compose.yml 文件:
yamlversion: '3' services: terragrunt: image: cytopia/terragrunt:latest volumes: - ./:/data environment: - RUN_NON_ROOT=1 - UID=${UID} - GID=${GID} command: terragrunt plan
运行:
bashUID=$(id -u) GID=$(id -g) docker-compose up
以下为适用于 CI/CD 流程的相关 Docker 镜像,可用于代码 lint、格式检查等自动化场景:
| 工具用途 | GitHub 仓库 | Docker Hub 镜像 |
|---|---|---|
| 基础工具集 | awesome-ci | [cytopia/awesome-ci][aci-hub-lnk] |
| 文件 lint | [file-lint][flint-git-lnk] | [cytopia/file-lint][flint-hub-lnk] |
| 链接检查 | [linkcheck][linkcheck-git-lnk] | [cytopia/linkcheck][linkcheck-hub-lnk] |
| Ansible 环境 | [ansible][ansible-git-lnk] | [cytopia/ansible][ansible-hub-lnk] |
| Ansible lint | [ansible-lint][alint-git-lnk] | [cytopia/ansible-lint][alint-hub-lnk] |
| Terraform 文档生成 | [terraform-docs][tfdocs-git-lnk] | [cytopia/terraform-docs][tfdocs-hub-lnk] |
| YAML lint | [yamllint][ylint-git-lnk] | [cytopia/yamllint][ylint-hub-lnk] |
| JSON lint | [jsonlint][jlint-git-lnk] | [cytopia/jsonlint][jlint-hub-lnk] |
MIT 许可证
Copyright (c) 2019 https://github.com/cytopia
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务