centos/s2i-base-centos7本镜像作为OpenShift语言镜像(如s2i-ruby、s2i-nodejs、s2i-python等)的基础,包含运行这些镜像所需的所有必要库和工具。它安装了多种开发库(常用于上述构建器镜像)和NPM包管理器,通过在公共层共享这些开发包,可有效节省磁盘空间并提高镜像拉取速度。对于不需要开发库和NPM的场景,建议使用本镜像的s2i-core变体。
OpenShift S2I镜像使用软件集合包提供各类软件的最新版本,其更新频率高于长期稳定的RHEL或CentOS系统。同时依赖RHEL/CentOS作为基础镜像,确保平台的稳定性、支持性和安全性。
传统软件集合需手动启用,操作繁琐且易出错。OpenShift S2I通过设置Bash环境变量实现自动启用:
BASH_ENV:为所有非交互式Bash会话启用集合ENV:为所有/bin/sh调用启用集合PROMPT_COMMAND:在交互式shell中启用集合示例:
BASH_ENV后,所有#!/bin/bash脚本无需调用scl enablePROMPT_COMMAND后,执行podman exec ... /bin/bash时集合会自动启用软件集合包中的可执行文件(如ruby)不在PATH环境变量指定的目录中,因此不能直接执行:
bash$ podman exec <容器ID> ... ruby # 错误
需使用以下方式:
bash$ podman exec <容器ID> ... /bin/bash -c ruby # 正确
/bin/bash -c结合环境变量设置可确保找到并调用正确的可执行文件。(注:示例中podman命令可替换为docker,参数相同)
支持RHEL7和CentOS7两种基础镜像:
需在已正确订阅的RHEL机器上构建:
bash$ git clone --recursive [***] $ cd s2i-base-container $ make build VERSIONS=base TARGET=rhel7
该镜像已发布至DockerHub,可直接拉取:
consolepodman pull sclorg/s2i-base-centos7
或从源码构建:
bash$ git clone --recursive [***] $ cd s2i-base-container $ make build VERSIONS=base
注意:省略
VERSION参数时,构建/测试操作将对所有提供的s2i镜像版本执行。
Dockerfile及其他源码可在GitHub仓库获取。仓库中包含不同变体的S2I基础Dockerfile:
DockerfileDockerfile.rhel7Dockerfile.rhel8Dockerfile.fedora



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