
bosh/os-image-stemcell-builder本Docker镜像旨在提供容器化的构建环境,用于在隔离容器中创建操作系统(OS)镜像和stemcells。通过容器化方式,实现构建环境的一致性、可重复性和隔离性,简化OS镜像与stemcells的自动化构建流程,适用于云平台、CI/CD管道或本地开发环境中的镜像生成场景。
docker run命令示例)通过容器内构建并将产物导出至宿主机:
bashdocker run -d \ --name os-image-builder \ -e OS_TYPE="ubuntu-22.04" \ # 目标OS类型 -e OUTPUT_DIR="/output" \ # 容器内输出目录 -e STEMCELL_VERSION="1.2.3" \ # Stemcells版本(可选) -v /host/path/to/output:/output \ # 挂载宿主机目录以导出产物 [镜像名称]:[标签]
创建docker-compose.yml文件集成到项目中:
yamlversion: '3.8' services: os-image-builder: image: [镜像名称]:[标签] container_name: os-image-builder environment: - OS_TYPE=centos-9 - OUTPUT_DIR=/output - BUILD_ARGS="--with-packages=git, curl" # 自定义构建参数 - STEMCELL_ENABLED=true volumes: - ./host-output:/output # 宿主机输出目录挂载 - ./build-scripts:/scripts # 挂载自定义构建脚本(可选) restart: "no" # 一次性构建任务,无需重启
| 参数名 | 描述 | 默认值 | 示例值 |
|---|---|---|---|
OS_TYPE | 目标操作系统类型(如ubuntu、centos) | ubuntu-latest | centos-9、debian-12 |
OUTPUT_DIR | 容器内产物输出目录 | /output | /custom-output |
STEMCELL_ENABLED | 是否生成stemcells(true/false) | false | true |
STEMCELL_VERSION | Stemcells版本号(启用时必填) | - | 1.2.3 |
BUILD_ARGS | 额外构建参数(如包列表、内核版本) | "" | "--kernel=5.15 --with-packages=vim" |
ARCH | 目标架构(x86_64/arm64) | x86_64 | arm64 |
--memory=8g限制资源占用。chmod 777 /host/path/to/output),或通过--user参数指定用户ID。sha256sum校验输出文件完整性。bashdocker run -it --rm \ -e OS_TYPE="ubuntu-22.04" \ -e STEMCELL_ENABLED="true" \ -e STEMCELL_VERSION="2.0.0" \ -e ARCH="x86_64" \ -v $(pwd)/output:/output \ [镜像名称]:[标签]
构建完成后,产物将保存至宿主机./output目录,包含:
ubuntu-22.04-stemcell-2.0.0-x86_64.img(镜像文件)build-manifest.json(构建元数据)


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