hashicorppreview/packerPacker 是一款免费开源工具,用于从单一源配置为多个平台创建黄金镜像(基础镜像)。本镜像基于 Packer 工具构建,提供容器化的 Packer 运行环境,方便用户在隔离环境中执行镜像构建操作。
注意:本仓库中的镜像为 开发版(dev),仅适用于开发和测试场景。生产环境中应使用稳定版镜像,可从 Docker Hub hashicorp/packer 获取。
从 Docker Hub 获取开发版镜像:
bashdocker pull hashicorp/packer-dev # 示例镜像名,具体以实际仓库为准
说明:生产环境请使用稳定版镜像
hashicorp/packer
验证镜像可用性:
bashdocker run --rm hashicorp/packer-dev packer --version
通过挂载本地配置文件,执行 packer build 命令构建镜像:
bash# 假设本地配置文件为 ./packer-template.json docker run --rm -v $(pwd):/workspace -w /workspace hashicorp/packer-dev packer build packer-template.json
-v $(pwd):/workspace:将当前目录挂载到容器内 /workspace 目录,使容器可访问本地配置文件-w /workspace:设置工作目录为 /workspace,确保 Packer 能找到配置文件Packer 的核心配置通过 配置文件(JSON/HCL 格式) 定义,具体语法和参数可参考 Packer 官方文档。容器化使用时,需确保配置文件通过挂载方式传入容器。
Packer 支持通过环境变量进行运行时配置,常用变量包括:
PACKER_LOG:启用日志输出(设为 1 开启)PACKER_LOG_PATH:指定日志文件路径(如 /workspace/packer.log)AWS_ACCESS_KEY_ID、AZURE_CLIENT_ID 等):用于认证云服务提供商,避免硬编码密钥到配置文件dev 版本,可能包含未稳定的功能或 bug,禁止用于生产环境,生产环境请使用 hashicorp/packer 稳定版镜像root)对挂载目录有读写权限,避免因权限问题导致配置文件无法读取若需在多步骤构建流程中集成 Packer,可使用 docker-compose.yml 简化配置:
yamlversion: '3' services: packer: image: hashicorp/packer-dev volumes: - ./packer-config:/workspace # 挂载本地配置目录 - /var/run/docker.sock:/var/run/docker.sock # 如需构建 Docker 镜像,挂载 Docker 套接字 working_dir: /workspace environment: - PACKER_LOG=1 - PACKER_LOG_PATH=/workspace/packer.log command: packer build template.pkr.hcl
运行命令:docker-compose up


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务