13.7.5. 通过手动推送镜像来创建镜像流


也可以通过手动将镜像推送到内部 registry 来自动创建镜像流。这只在使用 OpenShift Container Platform 内部 registry 时实现。

在执行此步骤前,必须满足以下条件:

  • 您要推送到的目标项目必须已经存在。
  • 用户必须获得该项目中的 {get, update} "imagestream/layers" 授权。另外,因为镜像流不存在,用户必须在该项目中被授权 {create} "imagestream"。如果您是项目管理员,则有这些权限。
注意

system:image-pusher 角色不授予创建新镜像流的权限,只是将镜像推送到现有镜像流,因此不能用来将镜像推送到还不存在的镜像流,除非还授予用户其他权限。

通过手动推送镜像来创建镜像流:

  1. 首先,登录内部注册表
  2. 然后,使用适当的内部 registry 位置标记您的镜像。例如,如果您已在本地拉取 docker.io/centos:centos7 镜像:

    $ docker tag docker.io/centos:centos7 172.30.48.125:5000/test/my-image
  3. 最后,将镜像推送到内部 registry。例如:

    $ docker push 172.30.48.125:5000/test/my-image
    The push refers to a repository [172.30.48.125:5000/test/my-image] (len: 1)
    c8a648134623: Pushed
    2bf4902415e3: Pushed
    latest: digest: sha256:be8bc4068b2f60cf274fc216e4caba6aa845fff5fa29139e6e7497bb57e48d67 size: 6273
  4. 验证镜像流是否已创建:

    $ oc get is
    NAME       DOCKER REPO                        TAGS      UPDATED
    my-image   172.30.48.125:5000/test/my-image   latest    3 seconds ago
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.