Kubernetes OpenShift-如何创建新的图像流?

Kubernetes OpenShift-如何创建新的图像流?,kubernetes,openshift,openshift-client-tools,Kubernetes,Openshift,Openshift Client Tools,我正在构建OpenShift s2i图像。为了帮助简化开发,我想基于这个s2i图像创建一个图像流,这样我就可以快速测试s2i的更改以及源代码库中的更改是否有效 我找不到任何创建新图像流的oc命令 我尝试使用下面的yml创建一个图像流 kind: "BuildConfig" apiVersion: "v1" metadata: name: "s2i-cpp" annotations: openshift.io/build-config.name: s2i-cpp labels

我正在构建OpenShift s2i图像。为了帮助简化开发,我想基于这个s2i图像创建一个图像流,这样我就可以快速测试s2i的更改以及源代码库中的更改是否有效

我找不到任何创建新图像流的
oc
命令

我尝试使用下面的yml创建一个图像流

kind: "BuildConfig"
apiVersion: "v1"
metadata:
  name: "s2i-cpp" 
  annotations:
    openshift.io/build-config.name: s2i-cpp
  labels:
    build: s2i-cpp
    buildconfig: s2i-cpp
    openshift.io/build-config.name: s2i-cpp
    openshift.io/build.start-policy: Serial
spec:
  source:
    contextDir: "dockerfiles/builder"
    git:
      ref: master
      uri: 'https://gitlab.com/myrepo/s2i-cpp-wine.git'
    sourceSecret:
      name: gitlab-priceinsight
    type: Git
  strategy:
   type: Docker
   dockerStrategy:
    dockerfilePath: dockerfiles/builder/
  output: 
    to:
      kind: "ImageStreamTag"
      name: "s2i-cpp:latest"
虽然我可以使用
occreate-f imagestream.yml创建此文件,但当我尝试运行此文件时,它会立即出现
无效输出引用的错误。我的期望是它将创建一个新的映像。

转到project namescape或使用-n 使用yaml文件创建构建
oc创建-f.yaml

您首先在哪里构建S2I图像?如果在OpenShift中将S2I映像本身构建为
docker
构建策略,则会为您创建一个映像流。如果已将图像推送到Docker Hub,则可以使用
oc导入图像
。如果可以访问OpenShift的内部图像注册表,并且您先登录,您也可以直接将其推入该注册表。谢谢Graham。是的,我可以推到内部注册表,但有东西坏了。是的,我正在操作系统中构建s2i。刚刚意识到我已经有了一个图像流。谢谢,最后的问题是什么?那么@Rameez的答案有什么问题?
oc project <your namespace>
oc create imagestream <image-name>
output:
    to:
      kind: ImageStreamTag
      name: 'image-name:latest'
oc create -f <build>.yaml