You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAC环境CRC上部署Node.js MongoDB应用遇OpenShift镜像解析构建错误

解决CRC中Node.js镜像找不到的构建错误

问题原因

你使用的模板依赖的nodejs:4镜像流标签过于老旧,CRC(CodeReady Containers)默认的openshift命名空间已不再提供该版本镜像,导致构建时无法找到对应镜像资源。

解决步骤

  • 第一步:查看openshift命名空间可用的Node.js镜像版本
    执行命令:

    oc get imagestreams -n openshift | grep nodejs
    

    该命令会列出当前CRC环境中所有可用的Node.js镜像流标签,比如nodejs:16、nodejs:18等。

  • 第二步:修改模板中的Node.js版本
    打开你使用的taxcalc-template.json,找到所有引用nodejs:4的位置(比如BuildConfig的sourceStrategy配置段),替换为第一步查到的可用版本(例如nodejs:18)。

    也可以在部署模板时直接通过参数指定版本,无需修改模板文件:

    oc process -f https://github.com/nirmesh/openshift-taxcalc/blob/master/openshift/templates/taxcalc-template.json -p NODEJS_VERSION=18 | oc apply -f -
    

    注意:如果模板未定义NODEJS_VERSION参数,仍需手动修改模板内的镜像标签。

  • 第三步:修复已创建的BuildConfig(若已部署过模板)
    若已创建BuildConfig但出现报错,直接编辑配置修改镜像来源:

    oc edit bc/taxcalc -n demo1
    

    在编辑器中定位到spec.strategy.sourceStrategy.from.name字段,将nodejs:4替换为可用的版本标签,保存退出后会自动触发重新构建。

  • 备选方案:手动导入老旧Node.js镜像(不推荐)
    若必须使用nodejs:4版本,可手动从红帽镜像仓库导入:

    oc import-image nodejs:4 --from=registry.access.redhat.com/rhscl/nodejs-4-rhel7 --confirm -n openshift
    

    注意:该版本镜像已停止维护,存在安全风险,建议优先使用受支持的新版本。

内容的提问来源于stack exchange,提问作者Nirmesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:00:46