本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
amd64和arm64架构!源码托管于 devops-infra/docker-terragrunt。
Docker Hub镜像地址:docker.io/devopsinfra/docker-terragrunt
GitHub Packages镜像地址:ghcr.io/devops-infra/docker-terragrunt/docker-terragrunt
该Docker镜像包含Terraform、OpenTofu或Terragrunt,同时集成Terragrunt、Go、Python、Make、Docker、Git及所有必要组件,可轻松管理CI/CD环境中的云基础设施,作为runner镜像使用。
内置亚马逊AWS、微软Azure、谷歌云平台(GCP) 的云服务CLI和SDK。
最适用于CI/CD自动化中的runner镜像,以及本地一致的运行环境。
请注意,这些镜像的重点是维护Terraform、OpenTofu和Terragrunt的当前版本可用性,而非CLI或其他依赖项。因此,当Terraform、OpenTofu或Terragrunt发布新版本时,镜像会同步更新。此外,镜像的版本标签包含上述软件版本以突出核心特性。
Dockerfile基于cytopia的两个镜像构建:docker-terragrunt和docker-terragrunt-fmt。原始README文件包含在本仓库中:docker-terragrunt和docker-terragrunt-fmt。本项目较原始项目有较大扩展,旨在成为云基础设施即代码(IaC)的框架。
镜像标签指示其包含的Terraform和Terragrunt版本,以及是否捆绑公共云提供商CLI(见下方表格)。
| 当前发布的完整标签版本 |
|---|
tf-1.13.0-ot-1.10.5-tg-0.86.2 |
| 镜像仓库 | 完整镜像名称示例 | 镜像名称 | 镜像版本 | Terraform版本 | OpenTofu版本 | Terragrunt版本 |
|---|---|---|---|---|---|---|
| Docker Hub | devopsinfra/docker-terragrunt:tf-1.13.0-tg-0.86.2 | docker-terragrunt | tf-1.13.0-tg-0.86.2 | 1.13.0 | 不适用 | 0.86.2 |
| Docker Hub | devopsinfra/docker-terragrunt:ot-1.10.5-tg-0.86.2 | docker-terragrunt | ot-1.10.5-tg-0.86.2 | 不适用 | 1.10.5 | 0.86.2 |
| GitHub Packages | ghcr.io/devops-infra/docker-terragrunt/docker-terragrunt:tf-1.13.0-tg-0.86.2 | docker-terragrunt | tf-1.13.0-tg-0.86.2 | 1.13.0 | 不适用 | 0.86.2 |
| GitHub Packages | ghcr.io/devops-infra/docker-terragrunt/docker-terragrunt:ot-1.10.5-tg-0.86.2 | docker-terragrunt | ot-1.10.5-tg-0.86.2 | 不适用 | 1.10.5 | 0.86.2 |
镜像标签还指示其包含的云API/SDK。
| 镜像名称 | AWS | Azure | GCP | OT | TF | 描述 |
|---|---|---|---|---|---|---|
docker-terragrunt:slim-tf-latest | ❌ | ❌ | ❌ | ❌ | ✅ | 轻量版本,包含TF、TG及基础依赖。 !Docker大小 |
docker-terragrunt:slim-ot-latest | ❌ | ❌ | ❌ | ✅ | ❌ | 轻量版本,包含OT、TG及基础依赖。 !Docker大小 |
docker-terragrunt:tf-latest | ❌ | ❌ | ❌ | ❌ | ✅ | 标准版本,包含TF,附带Go、Python、Make等工具。 !Docker大小 |
docker-terragrunt:ot-latest | ❌ | ❌ | ❌ | ✅ | ❌ | 标准版本,包含OT,附带Go、Python、Make等工具。 !Docker大小 |
docker-terragrunt:aws-tf-latest | ✅ | ❌ | ❌ | ❌ | ✅ | 标准版本,包含AWS CLI和TF。 !Docker大小 |
docker-terragrunt:aws-ot-latest | ✅ | ❌ | ❌ | ✅ | ❌ | 标准版本,包含AWS CLI和OT。 !Docker大小 |
docker-terragrunt:azure-tf-latest | ❌ | ✅ | ❌ | ❌ | ✅ | 标准版本,包含Azure CLI和TF。 !Docker大小 |
docker-terragrunt:azure-ot-latest | ❌ | ✅ | ❌ | ✅ | ❌ | 标准版本,包含Azure CLI和OT。 !Docker大小 |
docker-terragrunt:aws-azure-tf-latest | ✅ | ✅ | ❌ | ❌ | ✅ | 标准版本,包含AWS和Azure CLI及TF。 !Docker大小 |
docker-terragrunt:aws-azure-ot-latest | ✅ | ✅ | ❌ | ✅ | ❌ | 标准版本,包含AWS和Azure CLI及OT。 !Docker大小 |
docker-terragrunt:gcp-tf-latest | ❌ | ❌ | ✅ | ❌ | ✅ | 标准版本,包含GCP CLI和TF。 !Docker大小 |
docker-terragrunt:gcp-ot-latest | ❌ | ❌ | ✅ | ✅ | ❌ | 标准版本,包含GCP CLI和OT。 !Docker大小 |
docker-terragrunt:aws-gcp-tf-latest | ✅ | ❌ | ✅ | ❌ | ✅ | 标准版本,包含AWS和GCP CLI及TF。 !Docker大小 |
docker-terragrunt:aws-gcp-ot-latest | ✅ | ❌ | ✅ | ✅ | ❌ | 标准版本,包含AWS和GCP CLI及OT。 !Docker大小 |
docker-terragrunt:azure-gcp-tf-latest | ❌ | ✅ | ✅ | ❌ | ✅ | 标准版本,包含Azure和GCP CLI及TF。 !Docker大小 |
docker-terragrunt:azure-gcp-ot-latest | ❌ | ✅ | ✅ | ✅ | ❌ | 标准版本,包含Azure和GCP CLI及OT。 !Docker大小 |
docker-terragrunt:aws-azure-gcp-tf-latest | ✅ | ✅ | ✅ | ❌ | ✅ | 标准版本,包含AWS、Azure和GCP CLI及TF。 !Docker大小 |
docker-terragrunt:aws-azure-gcp-ot-latest | ✅ | ✅ | ✅ | ✅ | ❌ | 标准版本,包含AWS、Azure和GCP CLI及OT。 !Docker大小 |
/data,例如--volume $(pwd):/data。--env AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}或--volume ~/.aws/credentials:/root/.aws/credentials。--privileged --volume /var/run/docker.sock:/var/run/docker.sock。.gitconfig和/或SSH密钥(如需要),例如--volume ~/.gitconfig:/root/.gitconfig --volume ~/.ssh/id_rsa_github:/root/.ssh/id_rsa。.gitconfig示例[url "https://{GITHUB_TOKEN}@github.com/"] insteadOf = [***] [url "https://{GITHUB_TOKEN}@github.com/"] insteadOf = git+ssh://github.com/ [url "https://{GITHUB_TOKEN}@github.com/"] insteadOf = ***:
[url "[***]"] insteadOf = git+ssh://github.com/ [url "[***]"] insteadOf = ***:
[url "ssh://***/"] insteadOf = [***] [url "ssh://***/"] insteadOf = ***:
docker run --rm \ --user $(id -u):$(id -g) \ --volume $(pwd):/data \ devopsinfra/docker-terragrunt:latest format-hcl
docker run --rm \ --tty --interactive \ --env AWS_DEFAULT_REGION=${AWS_DEFAULT_REGION} \ --env AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} \ --env AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} \ --env AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN} \ --user $(id -u):$(id -g) \ --volume $(pwd):/data \ devopsinfra/docker-terragrunt:aws-latest terraform plan
~/.gitconfig文件连接GitHub:docker run --rm \ --tty --interactive \ --user $(id -u):$(id -g) \ --volume $(pwd):/data \ --volume ~/.gitconfig:/root/.gitconfig \ devopsinfra/docker-terragrunt:aws-latest terragrunt apply --terragrunt-working-dir some/module
docker run --rm \ --tty --interactive \ --user $(id -u):$(id -g) \ --volume $(pwd):/data \ devopsinfra/docker-terragrunt:aws-latest make build
| 脚本名称 | 是否在PATH中 | 用途 | 来源/文档 |
|---|---|---|---|
format-hcl | 是 | 格式化所有HCL文件(.hcl、.tf和.tfvars)为Hashicorp建议的格式。 | devops-infra |
terragrunt-fmt.sh | 否 | format-hcl的依赖脚本 | cytopia |
show-versions.sh | 是 | Docker镜像的主要CMD目标,用于显示所有已安装二进制文件的版本。 | devops-infra |
部分软件因所选镜像类型而异,标记为*
| 名称 | 类型 | 描述 | 来源/文档 |
|---|---|---|---|
| awscli* | 二进制 | 通过终端与AWS交互。 | [***] |
| azure-cli* | 二进制 | 通过终端与Azure交互。 | [***] |
免费版仅支持 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