在Openshift中从Dockerhub注册表更新ImageStream
我有一个定义对象“ImageStream”的模板: 因此,在创建openshift注册表中的图像后,在Openshift中从Dockerhub注册表更新ImageStream,docker,containers,openshift,Docker,Containers,Openshift,我有一个定义对象“ImageStream”的模板: 因此,在创建openshift注册表中的图像后,ocget is命令返回以下内容: $ oc get is NAME IMAGE REPOSITORY TAGS UPDATED safepark-netco
ocget is
命令返回以下内容:
$ oc get is
NAME IMAGE REPOSITORY TAGS UPDATED
safepark-netcore-img default-route-openshift-image-registry.apps.us-east-2.starter.openshift-online.com/safepark/safepark-netcore-img latest About an hour ago
dockerhub中的我的原始图像和我的管道工具始终更新dockerhub中的latest
标记。但是openshift中的ImageStream没有更新,所以我在openshift中总是得到一个旧版本的图像,并且由于openshift图像没有更新,所以从未触发新的构建
如何将OpenShift中的ImageStream“链接”到我的Dockerhub图像,并确保Dockerhub中更新的图像将更新OpenShift中的图像
重要提示:我正在使用带免费计划的Openshift Online。如果您希望图像自动从一个注册表同步到Openshift注册表,您可以使用
importPolicy
来实现这一点
说明了导入策略的功能
将importPolicy
设置为true
以自动同步图像
apiVersion: v1
kind: ImageStream
metadata:
name: ruby
spec:
tags:
- from:
kind: DockerImage
name: openshift/ruby-20-centos7
name: latest
importPolicy:
scheduled: true
apiVersion: v1
kind: ImageStream
metadata:
name: ruby
spec:
tags:
- from:
kind: DockerImage
name: openshift/ruby-20-centos7
name: latest
importPolicy:
scheduled: true
您无法以完全自动化的方式链接它们,因此更改会立即反映出来。使用
oc import image
命令触发对图像流的更新,使其使用最新的图像流。谢谢,它可以工作。我将把这个命令添加到我的pipelineGood,我将尝试返回这里
apiVersion: v1
kind: ImageStream
metadata:
name: ruby
spec:
tags:
- from:
kind: DockerImage
name: openshift/ruby-20-centos7
name: latest
importPolicy:
scheduled: true
apiVersion: v1
kind: ImageStream
metadata:
name: ruby
spec:
tags:
- from:
kind: DockerImage
name: openshift/ruby-20-centos7
name: latest
importPolicy:
scheduled: true