本镜像提供隔离的RPM包构建环境,集成rpmbuild、gcc等核心工具,旨在简化各类软件的RPM包创建流程。通过容器化方式,避免构建环境依赖冲突,支持快速、可重复的RPM打包操作,适用于多场景下的软件分发需求。
rpmbuild、gcc、make等RPM构建必需工具,无需额外安装依赖。.spec规格文件(定义包元信息、构建步骤等)。.tar.gz)或补丁文件。通过Docker Hub或私有仓库拉取镜像(示例标签为centos7,其他标签参见镜像仓库说明):
bashdocker pull [镜像仓库地址]/rpm-builder:centos7
4.3.1 基础构建流程
将本地.spec文件和源码挂载到容器内,执行构建命令:
bashdocker run -it --rm \ -v $(pwd)/specs:/root/rpmbuild/SPECS \ # 挂载.spec文件目录 -v $(pwd)/sources:/root/rpmbuild/SOURCES \ # 挂载源码/补丁目录 -v $(pwd)/rpms:/root/rpmbuild/RPMS \ # 挂载输出RPM目录 [镜像仓库地址]/rpm-builder:centos7 \ rpmbuild -ba /root/rpmbuild/SPECS/your-package.spec
/root/rpmbuild为容器内默认构建目录(符合rpmbuild规范结构)。RPMS目录会输出最终生成的RPM包,挂载到宿主机./rpms目录便于获取。4.3.2 指定自定义构建目录
通过环境变量RPMBUILD_DIR修改默认构建路径:
bashdocker run -it --rm \ -e RPMBUILD_DIR=/custom/build \ # 自定义容器内构建根目录 -v $(pwd)/my-build:/custom/build \ # 挂载宿主机目录到自定义路径 [镜像仓库地址]/rpm-builder:centos7 \ rpmbuild -ba /custom/build/SPECS/your-package.spec
适用于多步骤构建或需持久化缓存场景(如依赖包缓存):
yaml# docker-compose.yml version: '3' services: rpm-builder: image: [镜像仓库地址]/rpm-builder:centos7 volumes: - ./specs:/root/rpmbuild/SPECS - ./sources:/root/rpmbuild/SOURCES - ./rpms:/root/rpmbuild/RPMS - rpm-cache:/root/rpmbuild/SRPMS # 持久化缓存SRPM environment: - ARCH=x86_64 # 指定构建架构 - SPEC_FILE=your-package.spec # 默认spec文件名(可选) command: rpmbuild -ba /root/rpmbuild/SPECS/${SPEC_FILE} volumes: rpm-cache: # 缓存SRPM,加速重复构建
启动命令:docker-compose up
| 环境变量 | 默认值 | 描述 |
|---|---|---|
RPMBUILD_DIR | /root/rpmbuild | 容器内RPM构建根目录(需符合rpmbuild规范结构)。 |
SPEC_FILE | 无 | 默认.spec文件名(需配合rpmbuild命令使用)。 |
ARCH | x86_64 | 构建目标架构(如i386、arm64,需基础镜像支持)。 |
DISTRO | 基础镜像发行版 | 覆盖基础镜像的发行版标识(如centos8)。 |
-u $(id -u):$(id -g)指定用户ID,避免文件权限冲突)。BuildRequires依赖需确保在镜像中存在,缺失时可通过docker exec进入容器手动安装(如yum install -y [依赖包])。fedora38、centos-stream9),确保RPM兼容性。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务