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

使用S2i推送Docker镜像至私有JFrog仓库时默认推送到OpenShift仓库问题

问题描述

我尝试将Docker镜像推送到私有JFrog仓库,但通过S2i工具执行推送操作时,镜像默认被推送到了OpenShift仓库。相关ImageStream配置如下:

apiVersion: v1
items:
- apiVersion: image.openshift.io/v1
  kind: ImageStream
  metadata:
    annotations:
      openshift.io/generated-by: OpenShiftNewApp
      openshift.io/image.insecureRepository: "true"
    creationTimestamp: null
    labels:
      app: bulkhold-s2i
    name: bulkhold-s2i
  spec:
    output:
      to:
        kind: DockerImage
        name: 'bulkhold-s2i:latest'
    dockerImageRepository: *****/it-mfg/bulkhold
    pushSecret:
      name: itmfg-docker-dev-local
  status:
    dockerImageRepository: ******/it-mfg/bulkhold
    tag: latest
解决方法
  • 修正spec.output.to.name配置,补充JFrog仓库的完整镜像路径,格式为[JFrog仓库地址]/it-mfg/bulkhold/bulkhold-s2i:latest,替换[JFrog仓库地址]为你的实际私有仓库地址。这一步是明确告知S2i工具镜像的推送目标,而非默认的OpenShift内部仓库。
  • 确认pushSecret指定的itmfg-docker-dev-local密钥已正确配置JFrog仓库的认证信息(用户名、密码或令牌),确保OpenShift具备向该私有仓库推送镜像的权限。
  • 修正后的ImageStream spec核心配置示例:
spec:
  output:
    to:
      kind: DockerImage
      name: '*****/it-mfg/bulkhold/bulkhold-s2i:latest'
  dockerImageRepository: *****/it-mfg/bulkhold
  pushSecret:
    name: itmfg-docker-dev-local
  • spec.dockerImageRepository字段已正确指向JFrog仓库路径,无需修改,它用于让ImageStream与外部仓库的镜像信息保持同步。

内容的提问来源于stack exchange,提问作者Hemanth Kumar Kudumu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 22:48:35