Packer 速查
共 21 条 Packer 常用命令,涵盖常用命令、HCL 模板、常见 builder、实践要点。 支持搜索与分类筛选,点击即可复制。
常用命令
从一个模板构建多平台镜像。
| 命令 | 说明 |
|---|---|
| 初始化并下载插件(HCL2) | |
| 校验模板 | |
| 构建镜像 | |
| 格式化模板 | |
| 传入变量 | |
| 只构建指定 source |
HCL 模板
source + build 两段式。
| 命令 | 说明 |
|---|---|
| 声明插件 | |
| 定义 source(builder) | |
| build 段与 provisioner | |
| 变量声明 | |
| 局部变量 |
常见 builder
目标平台。
| 命令 | 说明 |
|---|---|
| AWS 镜像 | |
| Docker | |
| 虚拟机 | |
| GCP/Azure | |
| provisioner |
实践要点
可复现与维护。
| 命令 | 说明 |
|---|---|
| 基础镜像 | |
| 命名 | |
| 幂等 | |
| 流水线 | |
| 与 IaC 分工 |
使用说明
Packer 镜像构建速查:常用命令、HCL 模板、常见 builder、实践要点;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:常用命令、HCL 模板、常见 builder、实践要点。
- 点「命令」列复制,替换名称与变量后执行。
- 流程:packer init 拉插件 → validate 校验 → build 构建。
- provisioner 里的安装步骤必须幂等,重复执行不出错。
常见问题
- Packer 和 Terraform 分别管什么?
- Packer 负责「烤」镜像(把系统与软件预装好,产出 AMI/容器镜像等),Terraform 负责「起」资源(创建与编排云资源)。常配合:Packer 出镜像,Terraform 用该镜像部署。
- init 是干什么的?
- HCL2 模板需要安装声明的插件(builder/provisioner),packer init . 会按 required_plugins 下载对应版本,之后才能 build。
- 怎么保证每次构建产物唯一?
- 在镜像名里加时间戳等变量,如 ami_name = "app-{{timestamp}}",否则同名镜像会冲突导致构建失败。