本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Terragrunt 官方 Docker 镜像是由 Terragrunt 官方维护的容器化分发形式,封装了 Terragrunt 工具及其运行依赖,提供开箱即用的 Terragrunt 执行环境。Terragrunt 是 Terraform 的封装工具,旨在简化多环境、多模块 Terraform 配置的管理,通过自动化后端配置、版本控制、依赖管理等功能,提升基础设施即代码(IaC)的维护效率。
plan、apply、destroy);terragrunt.hcl 集中定义通用配置(如后端、提供商),避免重复代码;terragrunt plan/apply,实现基础设施自动化部署;从 Docker Hub 拉取官方镜像(默认使用最新版本,可指定标签如 v0.55.16 锁定版本):
docker pull gruntwork/terragrunt:latest
运行以下命令检查 Terragrunt 版本,确认镜像正常工作:
docker run --rm gruntwork/terragrunt:latest terragrunt --version
通过挂载本地 Terragrunt 配置目录,执行具体命令(如 plan、apply):
# 假设当前目录包含 terragrunt.hcl 及 Terraform 模块 docker run --rm -v $(pwd):/workspace -w /workspace gruntwork/terragrunt:latest terragrunt plan
将本地 Terragrunt 配置(terragrunt.hcl)、Terraform 模块、变量文件(如 terraform.tfvars)挂载到容器内 /workspace 目录(或自定义工作目录):
docker run --rm \ -v $(pwd)/config:/workspace \ # 挂载配置目录 -v $(pwd)/secrets:/secrets \ # 挂载敏感文件(如 AWS 凭证) -w /workspace \ # 设置工作目录 gruntwork/terragrunt:latest \ terragrunt apply
通过 -e 参数传递环境变量(如云服务凭证、自定义配置):
docker run --rm \ -v $(pwd):/workspace -w /workspace \ -e AWS_ACCESS_KEY_ID="AKIAEXAMPLE" \ -e AWS_SECRET_ACCESS_KEY="secret" \ -e TERRAGRUNT_TFPATH="/usr/local/bin/terraform" \ # 指定 Terraform 路径 gruntwork/terragrunt:latest \ terragrunt plan
通过 TERRAGRUNT_TFPATH 环境变量指定 Terraform 版本,镜像会自动下载对应版本(需确保网络通畅):
docker run --rm \ -v $(pwd):/workspace -w /workspace \ -e TERRAGRUNT_DOWNLOAD="true" \ # 允许自动下载 Terraform -e TERRAGRUNT_TFPATH="/usr/local/bin/terraform-1.6.0" \ # 指定版本 gruntwork/terragrunt:latest \ terragrunt init
将 Terragrunt 缓存目录(含下载的 Terraform 二进制、模块缓存)挂载到本地,避免重复下载:
docker run --rm \ -v $(pwd):/workspace \ -v ~/.terragrunt-cache:/root/.terragrunt-cache \ # 持久化缓存 gruntwork/terragrunt:latest \ terragrunt apply
| 变量名 | 说明 | 默认值 |
|---|---|---|
TERRAGRUNT_TFPATH | 指定 Terraform 可执行文件路径(用于自定义版本或路径) | /usr/local/bin/terraform |
TERRAGRUNT_DOWNLOAD | 是否自动下载 Terraform(true/false) | true |
TERRAGRUNT_CACHE_DIR | Terragrunt 缓存目录(存放下载的 Terraform、模块缓存等) | /root/.terragrunt-cache |
TERRAGRUNT_DEBUG | 启用调试模式(输出详细日志) | false |
TERRAFORM_VERSION | 构建镜像时指定默认 Terraform 版本(仅用于镜像构建,运行时可覆盖) | 最新稳定版 |
如需构建包含特定 Terraform 版本的镜像,可通过 --build-arg 指定:
docker build \ --build-arg TERRAFORM_VERSION=1.6.0 \ -t my-custom-terragrunt:1.6.0 \ [***]
创建 docker-compose.yml,定义 Terragrunt 服务,适用于本地开发或固定环境:
version: '3.8' services: terragrunt: image: gruntwork/terragrunt:latest volumes: - ./config:/workspace:ro # 挂载只读配置目录 - ./secrets:/secrets:ro # 挂载敏感文件(如云凭证) - terragrunt-cache:/root/.terragrunt-cache # 持久化缓存 environment: - AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} - AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} - TERRAGRUNT_TFPATH=/usr/local/bin/terraform-1.6.0 working_dir: /workspace command: ["terragrunt", "plan"] # 默认执行的命令 volumes: terragrunt-cache: # 命名卷,持久化缓存数据
启动服务:
docker-compose up
在 .gitlab-ci.yml 中集成 Terragrunt 镜像执行部署任务:
stages: - deploy deploy-infra: stage: deploy image: gruntwork/terragrunt:latest before_script: - export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID - export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY script: - cd /builds/your-project/infrastructure # 切换到配置目录 - terragrunt init - terragrunt plan - terragrunt apply --auto-approve only: - main # 仅主分支触发
root)可能对挂载文件有读写权限,生产环境建议通过 --user 参数指定非 root 用户,避免权限泄露。apply)时,需确保容器网络可访问云厂商 API(如 AWS、Azure 等),无需特殊代理时可使用默认网络模式。v0.55.16)而非 latest,避免工具版本变更导致兼容性问题。v<terragrunt-version>(如 v0.55.16),latest 指向最新稳定版;
免费版仅支持 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