具体帮助分为两个方面:1)容器注册这个概念本身,以及2)GitLab的集成式容器注册服务。
容器注册服务非常适合各种开发者工作流的分享和自动化。例如,将映像推送至容器注册服务之后,团队中的每个人(如果是私有服务)或有需要的任何人(如果是公开服务)都可以从中下载映像,或为您的软件构建一个完整版本。此时并不需要自行下载源代码并编译,只要抓取一个完整映像即可。但实际上抓取的并不仅仅是包含编译后代码的映像,而是包含完整操作系统版本以及其他依赖工具完整环境的映像,运行软件所需的一切均包含在内,无论在笔记本或云实例中软件都能无差异完美运行。
为了让一切保持无缝,GitLab已将容器注册服务集成于整个GitLab工作流中。用户只需要管理一套用户身份和一个标准化的项目。在连接到注册服务后即可访问全部有权访问的映像。对于企业本地部署的用户来说,更重要的是完全无需额外安装或维护任何其他软件。
在Docker与工作流相集成方面有几个新兴实践。其中三大常见领域包括:1)在Docker之外构建并测试一切,随后为最终结果创建Docker映像,以及2)构建Docker映像,随后对其进行测试,还有3)构建Docker映像,对其本身进行测试,然后使用Docker-compose同时运行多个映像并进行集成式测试,借此了解不同组件的交互方式。最后一种情况非常适合使用微服务的组织。
您觉得GitLab容器注册服务在哪些领域能提供最大收益?
Docker的主要优势之一在于能够将同一个映像用于开发、测试,以及部署。这种做法可有效避免应用发布到生产环境后突然发现环境存在差异,底层操作系统或其他工具版本不兼容等情况造成的麻烦。例如,很多开发者会在Mac上编写代码,随后将其发布到生产环境中的Linux系统。大部分情况下这样做没什么问题,但偶尔总会遇到一些麻烦。为确保开发和生产环境尽可能相似,非常重视站点可靠性的组织甚至提出了“dev-prod对等”这一概念。
Docker擅长的另一个领域是微服务,Dockers在设计上可以处理并协调多个服务。在使用Docker之前,如果开发者需要测试一个包含五个组件的系统,可能需要非常繁琐的操作才能在自己的笔记本上搭建本地环境。但Docker,尤其是Docker-compose使得整个过程变得大为简单。
容器注册服务是让这一切圆满实现的中心。
相比使用Docker Hub等其他第三方Docker注册服务,集成式容器注册服务有何优势?
最明显的优势是成本和便利性。运行容器注册服务无需额外支付任何费用(可创建供个人或企业使用,无限数量的私有项目),并且该服务已经伴随GitLab安装完成。集成工作的重点在于要将GitLab的身份验证和授权机制集成在一起,并使其与GitLab项目的组和成员分配情况保持一致,这样就可以通过注册服务轻松存储私有容器仓库。
举例来说,如果曾用过Docker Hub,您或者要将自己的项目设置为公用,或者付费将其设置为私有。如果希望像大部分大型企业那样在本地部署,还需要额外付费购买Docker Trusted Registry。无论哪种方式,都需要手工管理不同用户对映像的协作访问权限。
GitLab容器注册服务要求具备GitLab 8.8+,并已免费发布至GitLab.com。
本文转自d1net(转载)