首页 > 解决方案 > 大厅中的 docker-image 和 registry-image 有什么区别?

问题描述

在 Concourseresources部分下,我有时会遇到 type registry-image,有时会遇到 type docker-image

resources:

  - name: some-image   
    type: registry-image      
    source:                   
      repository: 1234567890.dkr.ecr.eu-west-1.amazonaws.com/some-image
      tag: 2.4.5              

  - name: other-image
    type: docker-image
    source:
      repository: 1234567890.dkr.ecr.eu-west-1.amazonaws.com/other-image
      tag: latest

它们看起来很相似,但究竟有什么区别?

标签: dockerconcourseconcourse-resource-types

解决方案


在谷歌搜索时,我在registry-image 的 github 页面上找到了答案

此资源旨在替代 Docker Image 资源。以下是主要区别:

  • 此资源在纯 Go 中实现,不使用 Docker 守护程序或 CLI。这使它更安全(不需要特权:true),更高效,更不容易出错(现在我们使用 Go API,而不是解析 docker CLI 输出)。

  • 该资源具有更强的测试覆盖率。

  • 此资源不会也永远不会支持构建 - 仅支持注册表图像推送/拉取。构建应该使用诸如 oci-build 任务(或任何可以生成 OCI 图像 tarball 的东西)之类的东西来完成。

  • 该资源的目标是尽可能保持专注和简单。Docker Image 资源变得过于庞大和复杂。构建和发布 Docker 镜像的方法太多了。支持许多较小的资源+任务而不是一个巨大的界面会更容易。


推荐阅读