redhat/ubi9-minimalRed Hat Universal Base Image 9 Minimal(简称 UBI 9 Minimal)是 Red Hat 提供的精简版基础容器镜像,专为构建轻量级、高效的容器环境设计。该镜像采用 microdnf 作为包管理器,具备体积小、资源占用低的特点。UBI 9 Minimal 可自由再分发,但 Red Hat 仅通过其产品订阅服务为 Red Hat 技术提供官方支持。镜像由 Red Hat 官方维护并定期更新,确保安全性和稳定性。
microdnf 包管理器microdnf(dnf 包管理器的轻量级实现),专为容器环境优化,资源占用低,支持基础包管理操作(安装、更新、删除)。通过 Docker 官方仓库或 Red Hat 容器镜像仓库拉取最新版本:
bashdocker pull registry.access.redhat.com/ubi9-minimal:latest
启动一个临时容器并进入交互终端:
bashdocker run -it --rm registry.access.redhat.com/ubi9-minimal:latest /bin/bash
-it:启用交互终端;--rm:容器退出后自动删除。microdnf 管理包curl):bashmicrodnf install -y curl
bashmicrodnf update -y
bashmicrodnf remove -y curl
bashmicrodnf clean all
以构建一个包含 curl 的自定义镜像为例:
dockerfile# 基础镜像 FROM registry.access.redhat.com/ubi9-minimal:latest # 安装依赖包 RUN microdnf install -y curl && \ microdnf clean all # 清理缓存以减小镜像体积 # 定义工作目录 WORKDIR /app # 启动命令(示例) CMD ["curl", "--version"]
构建并运行自定义镜像:
bashdocker build -t ubi9-minimal-curl . docker run --rm ubi9-minimal-curl
创建 docker-compose.yml 定义服务:
yamlversion: '3.8' services: app: image: registry.access.redhat.com/ubi9-minimal:latest command: /bin/bash -c "microdnf install -y curl && curl --version" volumes: - ./app:/app # 挂载本地目录(可选) environment: - HTTP_PROXY=[***] # 代理环境变量(如需)
启动服务:
bashdocker-compose up
| 环境变量 | 说明 | 示例值 |
|---|---|---|
HTTP_PROXY | HTTP 代理地址(用于 microdnf 联网) | [***] |
HTTPS_PROXY | HTTPS 代理地址 | [***] |
LANG | 设置默认语言编码 | en_US.UTF-8 |
TZ | 设置时区 | Asia/Shanghai |
| 参数 | 说明 | 示例 |
|---|---|---|
--user | 指定运行用户(非 root 增强安全性) | --user 1001 |
--read-only | 以只读模式挂载文件系统 | --read-only |
--cap-drop | 移除不必要的 Linux capabilities | --cap-drop ALL |
microdnf 局限性:microdnf 不支持 dnf 的全部功能(如插件、复杂依赖解析),仅适用于基础包管理。systemd)未预装,需根据应用需求手动安装。ubi9-minimal:9.2)而非 latest,确保构建一致性。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务