OpenShift:我可以设置一个将docker映像从imagestream复制到外部docker存储库的构建吗?

OpenShift:我可以设置一个将docker映像从imagestream复制到外部docker存储库的构建吗?,docker,openshift,s2i,Docker,Openshift,S2i,我们正在尝试设置一个尽可能接近默认值的OpenShift流,而不必使用Jenkins 到目前为止,我已经设法使s2i生成的docker文件适应我们的需要(以获得s2i图像的好处),并建立了一个简单的“oc new app”管道,该管道在git存储库将生成的docker图像推送到图像流和由图像流更新推送到默认pod触发的部署之后创建一个构建。这很有效 现在,我们还希望将这个docker映像推送到外部docker存储库(OpenShift称之为RED HAT容器注册表),我基本上希望保留现有的流,而

我们正在尝试设置一个尽可能接近默认值的OpenShift流,而不必使用Jenkins

到目前为止,我已经设法使s2i生成的docker文件适应我们的需要(以获得s2i图像的好处),并建立了一个简单的“oc new app”管道,该管道在git存储库将生成的docker图像推送到图像流和由图像流更新推送到默认pod触发的部署之后创建一个构建。这很有效

现在,我们还希望将这个docker映像推送到外部docker存储库(OpenShift称之为RED HAT容器注册表),我基本上希望保留现有的流,而不是调整它以使用外部注册表,而不是内部注册表


那么,我可以设置一个“构建”或类似的东西,它除了获取图像并将其推送到docker注册表之外什么都不做?如何使用
oc
命令进行设置?

是否将
buildConfig
生成的映像推送到外部注册表,对吗? 我认为工作流程是这样的:

  • 创建凭证
    secret

我希望它能帮助您。

您想将由
buildConfig
构建的映像推送到外部注册表吗? 我认为工作流程是这样的:

  • 创建凭证
    secret
我希望它能帮助您。

您可以使用命令行工具将容器映像从一个docker注册表复制到另一个,而无需再次构建映像

这是一个由Red Hat正式支持的工具,它是(buildah、podman、skopeo等)的一部分,用于支持在daemonless cri-o容器运行时而不是docker上运行OpenShift和Kubernetes

通过
docker login
登录到源和目标注册表,或使用
--src creds
--dest creds
标志

skopeo copy \
  --src-creds=testuser:testpassword \
  --dest-creds=otheruser:otherpassword \
  docker://myregistrydomain.com:5000/dockerimage:tag \
  docker://mysecondregistrydomain.com:5000/dockerimage:tag
您可以使用命令行工具将容器映像从一个docker注册表复制到另一个,而无需再次构建映像

这是一个由Red Hat正式支持的工具,它是(buildah、podman、skopeo等)的一部分,用于支持在daemonless cri-o容器运行时而不是docker上运行OpenShift和Kubernetes

通过
docker login
登录到源和目标注册表,或使用
--src creds
--dest creds
标志

skopeo copy \
  --src-creds=testuser:testpassword \
  --dest-creds=otheruser:otherpassword \
  docker://myregistrydomain.com:5000/dockerimage:tag \
  docker://mysecondregistrydomain.com:5000/dockerimage:tag

非常感谢。我不希望更改由“oc new app”创建的现有构建配置,而是添加另一个仅负责此操作的配置。这是一个好主意,您可以使用新配置运行“oc start build”。谢谢。我不希望更改由“oc new app”创建的现有构建配置,而是添加另一个仅负责此操作的配置。这是一个好主意,您可以使用新配置运行“oc start build”。
skopeo copy \
  --src-creds=testuser:testpassword \
  --dest-creds=otheruser:otherpassword \
  docker://myregistrydomain.com:5000/dockerimage:tag \
  docker://mysecondregistrydomain.com:5000/dockerimage:tag