专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
terraform

oorabona/terraform

oorabona

企业级Terraform容器,集成全面的DevOps工具,支持多云基础设施即代码,提供针对AWS、Azure、GCP或全云的优化版本,适用于开发、测试及CI/CD管道。

下载次数: 0状态:社区镜像维护者:oorabona仓库类型:镜像最近更新:10 天前
轩辕镜像,让镜像更快,让人生更轻。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,让镜像更快,让人生更轻。点击查看

Terraform

企业级Terraform容器,配备全面的DevOps工具,用于多云基础设施即代码。提供针对AWS、Azure、GCP或全云环境优化的多种版本。

![GHCR]([***] https://github.com/oorabona/docker-containers/actions/workflows/auto-build.yaml/badge.svg](https://github.com/oorabona/docker-containers/actions/workflows/auto-build.yaml)

快速开始

bash
# 包含所有云CLI的完整版本(推荐用于开发)
docker pull ghcr.io/oorabona/terraform:latest

# 基础版本(最小镜像,无云CLI)
docker pull ghcr.io/oorabona/terraform:latest-base

# AWS专用版本
docker pull ghcr.io/oorabona/terraform:latest-aws

# Azure专用版本
docker pull ghcr.io/oorabona/terraform:latest-azure

# GCP专用版本
docker pull ghcr.io/oorabona/terraform:latest-gcp

可用版本

所有版本均包含核心安全和DevOps工具集。区别在于包含的云CLI:

版本描述云CLI使用场景
base仅包含核心工具无最小镜像,与云无关
awsAWS优化版AWS CLI仅AWS基础设施
azureAzure优化版Azure CLI仅Azure基础设施
gcpGCP优化版Google Cloud SDK仅GCP基础设施
full全云版本AWS CLI + Azure CLI + Google Cloud SDK + j2cli多云环境或开发

版本详情

基础版 (*-base)

包含Terraform、安全扫描、代码检查和文档工具。无云提供商CLI。镜像体积最小。

工具:

  • Terraform
  • TFLint(代码检查)
  • Trivy(安全扫描)
  • Terragrunt(编排)
  • terraform-docs(文档生成)
  • Infracost(成本估算)
  • GitHub CLI
  • Git、Jq、Yq

AWS版 (*-aws)

包含基础版工具 + AWS CLI,适用于Amazon Web Services基础设施。

附加工具:

  • AWS CLI(固定版本,确保可重现性)

Azure版 (*-azure)

包含基础版工具 + Azure CLI,适用于Microsoft Azure基础设施。

附加工具:

  • Azure CLI(固定版本,确保可重现性)

GCP版 (*-gcp)

包含基础版工具 + Google Cloud SDK,适用于Google Cloud Platform基础设施。

附加工具:

  • Google Cloud SDK(始终为最新版 - GCP安装程序不支持版本固定)
  • gcloud、gsutil、bq命令

完整版 (*-full)

包含所有云CLI以及Jinja2模板引擎。推荐用于:

  • 多云环境
  • 开发和测试
  • CI/CD管道
  • 基于模板的基础设施

附加工具:

  • AWS CLI
  • Azure CLI
  • Google Cloud SDK
  • j2cli(Jinja2模板)

镜像标签

ghcr.io/oorabona/terraform:{version}-{flavor}

示例:

  • latest 或 latest-full - 最新Terraform,包含所有云工具
  • latest-base - 最新Terraform,无云CLI
  • latest-aws - 最新Terraform,包含AWS CLI
  • 1.10.3-azure - Terraform 1.10.3,包含Azure CLI

工具参考

所有版本均已固定,并自动监控更新:

工具版本描述适用版本
Terraform(上游最新)基础设施即代码工具所有
TFLint0.60.0Terraform代码检查工具所有
Trivy0.69.1安全扫描工具所有
Terragrunt0.99.1Terraform编排工具所有
terraform-docs0.21.0文档生成工具所有
Infracost0.10.43云成本估算工具所有
GitHub CLI2.86.0GitHub自动化工具所有
AWS CLI1.44.33Amazon Web Services CLIaws, full
Azure CLI2.83.0Microsoft Azure CLIazure, full
Google Cloud SDKlatestGoogle Cloud Platform CLIgcp, full
j2cli(最新)Jinja2模板CLIfull

内置实用工具

所有版本均包含:

  • Git - 版本控制
  • Jq - JSON处理器
  • Yq - YAML处理器
  • Bash - Shell脚本
  • Curl - HTTP客户端
  • Python 3 - 脚本运行时

使用方法

Docker Compose(推荐)

yaml
services:
  terraform:
    image: ghcr.io/oorabona/terraform:latest
    user: "1000:1000"
    volumes:
      - .:/data
      - ~/.aws:/home/terraform/.aws:ro  # AWS凭证(只读)
      - ~/.azure:/home/terraform/.azure:ro  # Azure凭证(只读)
      - ~/.config/gcloud:/home/terraform/.config/gcloud:ro  # GCP凭证(只读)
    environment:
      # 从环境变量传递凭证,切勿硬编码
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_DEFAULT_REGION
      - AZURE_SUBSCRIPTION_ID
      - AZURE_TENANT_ID
      - AZURE_CLIENT_ID
      - AZURE_CLIENT_SECRET
      - GOOGLE_APPLICATION_CREDENTIALS
      - TF_VAR_project_id

Docker Run

bash
# 初始化和计划
docker run --rm \
  -v $(pwd):/data \
  -v ~/.aws:/home/terraform/.aws:ro \
  ghcr.io/oorabona/terraform:latest-aws \
  init

docker run --rm \
  -v $(pwd):/data \
  -v ~/.aws:/home/terraform/.aws:ro \
  -e AWS_DEFAULT_REGION \
  ghcr.io/oorabona/terraform:latest-aws \
  plan

# 使用环境凭证应用
docker run --rm -it \
  -v $(pwd):/data \
  -e AWS_ACCESS_KEY_ID \
  -e AWS_SECRET_ACCESS_KEY \
  -e AWS_DEFAULT_REGION \
  ghcr.io/oorabona/terraform:latest-aws \
  apply

Jinja2模板(仅完整版)

完整版包含j2cli,用于基于模板的基础设施:

bash
# 创建带.j2扩展名的Terraform模板文件
# 示例:main.tf.j2
resource "aws_instance" "{{ instance_name }}" {
  instance_type = "{{ instance_type }}"
  ami           = "{{ ami_id }}"
}

# 创建包含模板变量的config.json
{
  "instance_name": "web-server",
  "instance_type": "t3.micro",
  "ami_id": "ami-12345678"
}

# 处理模板
docker run --rm \
  -v $(pwd):/data \
  ghcr.io/oorabona/terraform:latest \
  bash -c "for f in *.tf.j2; do j2 \$f config.json > \${f%.j2}; done && terraform plan"

安全扫描

bash
# 扫描Terraform配置中的错误配置
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  trivy config .

# 详细输出扫描
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  trivy config --format table --severity HIGH,CRITICAL .

# 扫描敏感数据
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  trivy fs --scanners secret .

代码检查

bash
# 初始化TFLint插件
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  tflint --init

# 检查Terraform文件
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  tflint

# 使用AWS插件检查
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest-aws \
  tflint --config=.tflint.hcl

文档生成

bash
# 从Terraform模块生成README.md
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  terraform-docs markdown table . > README.md

# 生成JSON输出
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  terraform-docs json . > module.json

成本估算

bash
# 生成成本明细
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  infracost breakdown --path .

# 比较分支间成本差异
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  infracost diff --path .

本地构建

bash
# 构建特定版本
docker build --build-arg VERSION=latest --build-arg FLAVOR=aws -t terraform:aws .

# 构建完整版(默认)
docker build --build-arg VERSION=latest -t terraform:full .

# 构建基础版
docker build --build-arg VERSION=latest --build-arg FLAVOR=base -t terraform:base .

构建参数

参数描述默认值
VERSIONTerraform版本latest
UPSTREAM_VERSION原始Terraform版本(无后缀)(从VERSION派生)
FLAVOR要构建的版本full
TFLINT_VERSIONTFLint版本0.60.0
TRIVY_VERSIONTrivy版本0.69.1
TERRAGRUNT_VERSIONTerragrunt版本0.99.1
TERRAFORM_DOCS_VERSIONterraform-docs版本0.21.0
INFRACOST_VERSIONInfracost版本0.10.43
GITHUB_CLI_VERSIONGitHub CLI版本2.86.0
AWS_CLI_VERSIONAWS CLI版本1.44.33
AZURE_CLI_VERSIONAzure CLI版本2.83.0
GCP_CLI_VERSIONGCP SDK版本latest

环境变量

变量描述默认值
CONFIGFILEJinja2配置文件(仅完整版)config.json
TERRAFORM_FLAVOR版本标识符(构建时设置)
AWS_ACCESS_KEY_IDAWS凭证(从环境传递)
AWS_SECRET_ACCESS_KEYAWS凭证(从环境传递)
AWS_DEFAULT_REGIONAWS区域(从环境传递)
AZURE_SUBSCRIPTION_IDAzure订阅(从环境传递)
AZURE_TENANT_IDAzure租户(从环境传递)
AZURE_CLIENT_IDAzure服务主体(从环境传递)
AZURE_CLIENT_SECRETAzure服务主体(从环境传递)
GOOGLE_APPLICATION_CREDENTIALSGCP凭证文件路径(从环境传递)
TF_VAR_*Terraform变量(用户定义)

卷

路径用途说明
/dataTerraform工作目录WORKDIR + VOLUME
/home/terraform/.awsAWS凭证只读挂载
/home/terraform/.azureAzure凭证只读挂载
/home/terraform/.config/gcloudGCP凭证只读挂载
/.terraform.dTerraform插件/缓存使用tmpfs提高安全性
/.config工具配置使用tmpfs提高安全性
/tmp临时文件使用tmpfs提高安全性

安全

基础安全

  • 多阶段构建最小化***面
  • 基于Alpine的最终镜像,减少占用空间
  • 通过自动重建进行定期安全更新
  • 包含Trivy安全扫描工具
  • 默认非root用户执行
  • terraform用户无shell访问权限(/sbin/nologin)

凭证安全(关键)

切勿在docker-compose.yml或Dockerfile中硬编码凭证:

yaml
# 错误 - 绝对不要这样做:
environment:
  AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE

# 正确 - 使用环境变量:
environment:
  AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID}
  AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY}

# 更好 - 使用只读挂载的凭证文件:
volumes:
  - ~/.aws:/home/terraform/.aws:ro

运行时强化(推荐)

yaml
services:
  terraform:
    image: ghcr.io/oorabona/terraform:latest
    user: "1000:1000"  # terraform:terraform
    read_only: true
    tmpfs:
      - /.terraform.d
      - /.config
      - /tmp
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges:true
    volumes:
      - .:/data:ro  # 仅计划时设为只读
      - ~/.aws:/home/terraform/.aws:ro
    environment:
      # 从环境变量传递凭证,切勿硬编码
      - AWS_ACCESS_KEY_ID
      - AWS_SECRET_ACCESS_KEY
      - AWS_DEFAULT_REGION

扫描基础设施

bash
# 应用前扫描安全问题
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  trivy config --severity HIGH,CRITICAL .

# 扫描常见Terraform错误
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  tflint --enable-rule=terraform_deprecated_interpolation

# 检查代码中的密钥
docker run --rm -v $(pwd):/data ghcr.io/oorabona/terraform:latest \
  trivy fs --scanners secret .

依赖项

所有工具版本均已固定,并自动监控更新:

依赖项版本来源监控许可证
Terraformupstreamhashicorp/terraformDocker HubMPL-2.0
TFLint0.60.0terraform-linters/tflintGitHub ReleasesMPL-2.0
Trivy0.69.1aquasecurity/trivyGitHub ReleasesApache-2.0
Terragrunt0.99.1gruntwork-io/terragruntGitHub ReleasesMIT
terraform-docs0.21.0terraform-docs/terraform-docsGitHub ReleasesMIT
Infracost0.10.43infracost/infracostGitHub ReleasesApache-2.0
GitHub CLI2.86.0cli/cliGitHub ReleasesMIT
AWS CLI1.44.33awscliPyPIApache-2.0
Azure CLI2.83.0azure-cliPyPIMIT
Google Cloud SDKlatestN/A未跟踪*Apache-2.0

*Google Cloud SDK安装程序始终获取最新版本 - GCP安装程序不支持版本固定。config.yaml中的GCP_CLI_VERSION仅作参考。

架构

terraform/
├── Dockerfile                 # 多阶段、多版本构建
├── docker-entrypoint.sh       # 入口脚本
├── docker-compose.yml         # 示例组合
├── config.yaml               # 工具版本配置
├── version.sh                # 上游版本发现
└── build                     # 带自动版本检测的构建脚本

多阶段构建

Dockerfile使用多

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 terraform 镜像标签

docker pull docker.xuanyuan.run/oorabona/terraform:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull oorabona/terraform:<标签>

更多 terraform 镜像推荐

hashicorp/terraform logo

hashicorp/terraform

hashicorp
Terraform的自动构建。有关更多使用方法和信息,请参见README。
512 次收藏1亿+ 次下载
13 天前更新
akamai/terraform logo

akamai/terraform

akamai
Akamai Terraform provider是Akamai官方提供的Terraform提供程序,用于通过Terraform管理Akamai服务(如CDN、DNS、WAF)的资源,实现基础设施即代码的自动化部署与配置管理。
1万+ 次下载
22 天前更新
scalr/terraform logo

scalr/terraform

scalr
暂无描述
1亿+ 次下载
10 天前更新
wpengine/terraform logo

wpengine/terraform

wpengine
包含gcloud和terraform工具的Docker镜像,提供便捷的云资源管理与基础设施即代码(IaC)部署环境。
1 次收藏10万+ 次下载
1 个月前更新
vydev/terraform logo

vydev/terraform

vydev
集成Terraform与AWS CLI的可重用Docker镜像,适用于自动化流水线的构建、测试及部署阶段。
50万+ 次下载
3 个月前更新
fxinnovation/terraform logo

fxinnovation/terraform

fxinnovation
该镜像包含Hashicorp的Terraform工具,基于官方Alpine镜像构建,旨在提供轻量级的Terraform运行环境。
1 次收藏10万+ 次下载
2 年前更新

查看更多 terraform 相关镜像

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

Harbor 镜像源配置

Harbor Proxy Repository 对接专属域名

Portainer 镜像源配置

Portainer Registries 加速拉取

Nexus 镜像源配置

Nexus3 Docker Proxy 内网缓存

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

配置了专属域名后,docker search 为什么会报错?

docker search 限制

Docker Hub 上有的镜像,为什么在轩辕镜像网站搜不到?

站内搜不到镜像

机器不能直连外网时,怎么用 docker save / load 迁镜像?

离线 save/load

docker pull 拉插件报错(plugin v1+json)怎么办?

插件要用 plugin install

WSL 里 Docker 拉镜像特别慢,怎么排查和优化?

WSL 拉取慢

轩辕镜像安全吗?如何用 digest 校验镜像没被篡改?

安全与 digest

第一次用轩辕镜像拉 Docker 镜像,要怎么登录和配置?

新手拉取配置

轩辕镜像合规吗?轩辕镜像的合规是怎么做的?

镜像合规机制

错误码与失败问题

docker pull 提示 manifest unknown 怎么办?

manifest unknown

docker pull 提示 no matching manifest 怎么办?

no matching manifest(架构)

镜像已拉取完成,却提示 invalid tar header 或 failed to register layer 怎么办?

invalid tar header(解压)

Docker pull 时 HTTPS / TLS 证书验证失败怎么办?

TLS 证书失败

Docker pull 时 DNS 解析超时或连不上仓库怎么办?

DNS 超时

docker 无法连接轩辕镜像域名怎么办?

域名连通性排查

Docker 拉取出现 410 Gone 怎么办?

410 Gone 排查

出现 402 或「流量用尽」提示怎么办?

402 与流量用尽

Docker 拉取提示 UNAUTHORIZED(401)怎么办?

401 认证失败

遇到 429 Too Many Requests(请求太频繁)怎么办?

429 限流

docker login 提示 Cannot autolaunch D-Bus,还算登录成功吗?

D-Bus 凭证提示

为什么会出现「单层超过 20GB」或 413,无法加速拉取?

413 与超大单层

账号 / 计费 / 权限

轩辕镜像免费版和专业版有什么区别?

免费版与专业版区别

轩辕镜像支持哪些 Docker 镜像仓库?

支持的镜像仓库

镜像拉取失败还会不会扣流量?

失败是否计费

麒麟 V10 / 统信 UOS 提示 KYSEC 权限不够怎么办?

KYSEC 拦截脚本

如何在轩辕镜像申请开具发票?

申请开票

怎么修改轩辕镜像的网站登录和仓库登录密码?

修改登录密码

如何注销轩辕镜像账户?要注意什么?

注销账户

配置与原理类

写了 registry-mirrors,为什么还是走官方或仍然报错?

mirrors 不生效

怎么用 docker tag 去掉镜像名里的轩辕域名前缀?

去掉域名前缀

如何拉取指定 CPU 架构的镜像(如 ARM64、AMD64)?

指定架构拉取

用轩辕镜像拉镜像时快时慢,常见原因有哪些?

拉取速度原因

为什么拉取镜像的 :latest 标签,拿到的往往不是「最新」镜像?

latest 与「最新」

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
oorabona/terraform
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.