容器镜像命名规范及版本管理规范.docx
《容器镜像命名规范及版本管理规范.docx》由会员分享,可在线阅读,更多相关《容器镜像命名规范及版本管理规范.docx(10页珍藏版)》请在优知文库上搜索。
1、公共镜像仓库主要有quay.io和DOCkerHub,使用过docker或podman的我们已经明白了如何从公共镜像仓库获取镜像,除了获取镜像外,我们也可以将自己构建的镜像存放到公共镜像仓库,这样别人也可以使用我们构建的镜像了。不过要将镜像上传到公共镜像仓库,必须先在公共镜像仓库的网站上注册一个账号,注册好了之后,可以在本地使用login命令登录到公共镜像仓库,在输入账号密码登录到公共镜像仓库之后,便可以使用push命令把镜像推送到公共镜像仓库了.1.2私有镜像仓库在企业级应用环境中,我们不可能将企业的内部容器推送到公共镜像仓库中,如果直接使用导出镜像的方式进行共享又比较麻烦,这时候我们可以自
2、己搭建属于自己的私有镜像仓库服务,用于存储和发布企业使用的镜像.Docker官方提供了registry这个穗像,可以用于搭建私有虢像仓库服务,我们把镜像拉到本地之后,用该镜像的容器便可以搭建一个简易的镜像仓库服务.Quay企业版是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了简易的DockerDistribution.作为一个企业级私有Registry服务器,QUay企业版提供了更好的性能和安全。提升用户使用RegiStry构建和运行环境传输穗像的效率.Quay企业版支持安装在多个RegiStry节点的镜像资源复
3、制,镜像全部保存在私有RegiStry中,确保数据和知识产权在公司内部网络中管控。另外,QUay企业版也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等.目前主要的云厂商都提供了租户的镜像仓库的服务,如阿里云、百度云、腾讯云等,在这些云平台上,我们可以创建自己租户的镜像仓库,而且还可以使用到这些镜像仓库的加速服务用于加快我们Pull镜像的速度,如果企业的应用本身就在云上,那么使用云镜像仓库服务是一个很好的选择.2镜像仓库的命名规范2.1 基础镜像仓库和业务镜像仓库的分离首先我们为基他镜像和业务镜像做一个定义.基础镜像:不包含具体业务的镜像.主要是为业务提供运行环境的,或者是一些开源项目
4、的官方镜像.业务镜像:基于基桃镜像构建出来的包含具体业务的镜像,能够在测试或生产环境中部署和运行.我们在进行容器化部署实践过程中,有些通用软件的镜像是会被多个项目的应用经常作为基他镜像使用,这些基础软件不翕要我们进行二次开发,在生产环境、测试环境、试运行环境等使用的均为同一镜像,直接使用稳定版本的镜像跑起来更改配舌就可以提供对外服务了,例如常见的RHE1.OPenJDK、Nginx,Redis、MySQ1.等,这些常用软件我们可以放在基础软件镜像库中.针对我们自身开发或者合作开发的软件,一股以项目为单位建立仓库,一个项目存在一到N个不同的模块的镜像,为了方便我们查找和核实抵像的情况,针对每个项
5、目我们构建相对独立的镜像仓库空间.2.2 规范镜像源管理对于不同仓库的镜像文件,不能由开发或者测试员随意进行上传,针对不同仓库的镜像维护需要明瑞责任方,例如:由配餐管理员负责提供和维护基础镜像,需要确保基础境像的版本的安全性、可靠性和稳定性,一般开发和运维人员不能随意上传镜像到此仓库中;Q流水线:项目持续集成生成的镜像,自动上传到我们的项目仓库中;个人用户:非配置管理员手动用push命令上传的测试镜像到项目仓库中.3饯像命名规则及其格式3.1 镜像名称格式我们日前使用的镜像名称的通用格式为:DOCKER_REGISTRYepo/name:tag,各个字段具体含义如下:DoCKER.REGIST
6、RY:企业统一的DockerRegiStry地址;repo:镜像仓库,用来管理某一类镜像;name:某个镜像的具体名称,一般的命名规则为:系统名称+系统版本+服务名+服务版本(如果公司约定了主要使用的系统名称和版本,则可以省略系统名称+系统版本部分,直接使用服务名作为镜像的名称工例如xentos7.6-nginx-l.47.tag:某个镜像具体的标签.例如:2.0.需要注意的是:镜像的名称需要限制为a-z0-9,其中可以出现的符号为卜.,不能出现中文以及中文符号,包括镜像名称中的:也必须是英文的目号,不然创建容器的时候会失败.3.2 基础镜像命名规则上文我们说到我们采用一个独立的仓库来管理企业
7、的基础镜像例如使用public仓库来管理所有的基础镜像,下面我们来约定基础镜像的命名规则:DOCKER_REGISTRY/repo/name:tag;repo:统一用public仓库来进行管理;name:描述该image中所提供的软件,各软件间通过u-连接;tag:依次顺序描述该image中所提供的软件的版本,各版本间通过连接。注意点:所有Baseimage除了尽量通过name和tag描述该image中所有的软件及其版本信息,还需要通过添加description的label,更加详细地描述image内容.对于非软件版本的更新(例如:更新安全漏洞),Baseimage的tag不会更新.为了追踪B
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 容器 命名 规范 版本 管理