Jump to section

什么是容器镜像仓库?

复制 URL

容器镜像仓库是一种存储库(或存储库集合),可用来存储和访问容器镜像。容器镜像仓库可以为基于容器型应用开发提供支持,通常作为 DevOps 流程的一部分。容器镜像仓库可以直接连接到 DockerKubernetes这样的容器编排平台。 

容器镜像仓库可以充当在系统之间共享容器镜像的中介,方便开发人员创建和交付云原生应用,为他们节省宝贵的时间。

云原生计算基金会认为,容器(包括容器镜像和镜像仓库)和微服务构成了云原生应用开发的基础。容器和微服务是完全自包含的,因此是创建可移植云原生应用的强大工具。 

容器将应用进程、运行时文件和操作系统依赖项与系统的其余部分隔离开。它们可在混合云环境中提供更大的可移植性,而且部署时间也比 虚拟机(VM)短得多。这样一来,开发人员能够更加轻松地从容器镜像仓库推送和拉取所需的内容,从而专注于构建优秀的产品,而不会被底层基础架构或执行细节分散精力。

在 DevOps 环境中,通过使用容器(以及容器镜像/镜像仓库),开发人员可以独立部署各项应用服务,这免除了合并代码更改的需要,改进了测试,并且有助于在测试和生产中进行故障隔离。

容器镜像仓库有公共和私有两种类型。

公共镜像仓库通常供希望尽快启动和运行镜像仓库的个人或小团队使用。不过,随着企业发展壮大,这可能会造成更复杂的安全问题,如修补、隐私和访问控制等方面。 

通过私有镜像仓库,您可将安全与隐私整合到远程托管或内部托管的企业容器镜像存储中。这种私有镜像仓库通常附带高级安全防护功能和技术支持。

大多数云提供商提供私有镜像仓库服务:Google 提供了 Google Container Registry,AWS 提供了 Amazon Elastic Container Registry(ECR),而微软则提供了 Azure 容器注册表。

使用私有的内部镜像仓库可以带来最大的安全性和配置潜力,但其管理要谨慎,而且要确保镜像仓库的基础架构和访问控制保留在组织内部。

为企业选择私有容器镜像仓库服务时需要考虑一些重要事项,包括:

  • 支持多种身份验证系统

  • 对本地镜像采用基于角色的访问控制管理(RBAC)

  • 借助漏洞扫描功能增强安全性和配置

  • 在可审计日志中记录使用情况,以将活动溯源到单个用户

  • 进行优化以实现自动化

私有镜像仓库具备企业就绪型功能,让企业能够以安全有效的方式在内部访问容器镜像。借助多种身份验证系统来部署相应措施,验证镜像仓库中存储的容器镜像。

例如,镜像必须先由上传者进行数字签名,然后才能推送到镜像仓库,并且启用活动跟踪并用户擅自上传。

RBAC 可根据个人的角色来管理允许执行的用户操作。开发人员需要上传到镜像仓库和从镜像仓库下载的访问权限,而其他团队成员或测试人员只需要下载权限。对于拥有 Active Directory(AD)或轻量级目录访问协议(LDAP)等用户管理系统的企业,可将该系统直接链接到容器镜像仓库并用于 RBAC。

公司可以选择自行创建和部署容器镜像仓库,也可选择使用商业支持的私有镜像仓库服务。

红帽® OpenShift® 是一个企业就绪型 Kubernetes 容器平台,能够管理混合云、多云和边缘部署,提供跨任何云基础架构的一致性。通过红帽 OpenShift,只需几分钟就可为新的微服务或应用置备好所需的环境。除了中间件、语言、框架和数据库等其他云服务外,它还包含一个私有镜像仓库,为管理容器镜像提供基本的功能。 

私有镜像仓库可以作为红帽 OpenShift 托管服务的一部分部署到红帽庞大的合作伙伴生态系统中的云提供商,在 AzureAmazon Web Services(AWS)IBM CloudGoogle Cloud 提供无缝的体验。红帽 OpenShift 支持与您可能已在使用的其他私有镜像仓库进行整合,如 JFrog 的 Artifactory 以及 Sonatype Nexus。

红帽还提供自我管理服务,这些服务基于其混合云基础构建,具有增强的安全防护功能和您可能在数据中心使用的其他软件元素。如果您需要更高级的安全防护和技术支持功能,可以使用作为可扩展的独立企业镜像仓库选项提供的红帽 Quay

继续阅读

文章

有状态 VS 无状态

要判断一个应用为有状态或无状态,取决于交互状态的记录时长以及该信息所需的存储方式。

文章

什么是 Quarkus?

Quarkus 是一个为 Java 虚拟机(JVM)和原生编译而设计的 Kubernetes 原生 Java 堆栈,专门根据容器而对 Java 进行了优化。

文章

什么是无服务器?

无服务器是一种云原生开发模型,可使开发人员专注构建和运行应用,而无需管理服务器。

详细了解云原生应用

产品

企业级应用平台,包含一系列久经测试的服务,可在您选择的基础架构上将应用推向市场。

相关资源

培训

免费培训

利用微服务架构开发云原生应用