一种搭建及使用安全Docker私有仓库的方法及装置与流程

文档序号:11519398阅读:209来源:国知局
一种搭建及使用安全Docker私有仓库的方法及装置与流程

本发明涉及计算机软件应用的技术领域,特别是涉及一种搭建及使用安全docker私有仓库的方法及装置。



背景技术:

docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到linux机器上。docker创建容器的镜像存储支持多种方式,除了开源或公共项目需要使用默认的公共仓库外,还有适合特殊定制某些东西的docker命令实现的保存/载入方式。但这些方式综合考虑网络带宽、ssl安全性、监控及磁盘存储等要求后,并不适用于企业的生产环境。现在亟需寻求一种方式弥补docker公共仓库使用不便和不安全的缺陷,进而满足网络带宽、ssl安全性、磁盘存储、监控等要求。



技术实现要素:

本发明的目的是提供一种搭建及使用安全docker私有仓库的方法及装置,弥补了docker公共仓库使用不便和不安全的缺陷,确保了安全性和方便管理,从而同时满足了网络带宽、ssl安全性、磁盘存储、监控等要求。

为了实现上述目的,本发明采用以下的技术方案:

一种搭建及使用安全docker私有仓库的方法,包括以下步骤:

a1:下载dockerregistry官方镜像仓库;

a2:创建lvm挂载盘用于挂载docker镜像;

a3:服务端使用openssl创建证书,然后加载证书到docker配置中;

a4:运行dockerregistry服务构建docker私有仓库;

a5:客户端获取服务端的证书并保存,然后再次加载证书到docker配置中;

a6:用户创建docker镜像,并将其重命名;

a7:将docker镜像推送到docker私有仓库;

a8:服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则返回a6。

进一步地,在a1之前,还包括:在服务端搭建docker环境。

进一步地,在a2之后,还包括:

服务端从dockerregistry官方镜像仓库拉取一个镜像,防火墙同时开放5000端口对外监听。

进一步地,所述加载证书到docker配置中,包括:通过修改docker的配置,加载openssl生成的证书到docker配置中。

进一步地,在a5之前,还包括:

服务端将证书下发给使用docker私有仓库镜像的客户端。

基于上述的一种搭建及使用安全docker私有仓库的方法的一种搭建及使用安全docker私有仓库的装置,包括:

下载模块,用于下载dockerregistry官方镜像仓库;

第一创建模块,用于创建lvm挂载盘用于挂载docker镜像;

第一加载模块,用于服务端使用openssl创建证书,然后加载证书到docker配置中;

运行模块,用于运行dockerregistry服务构建docker私有仓库;

第二加载模块,用于客户端获取服务端的证书并保存,然后再次加载证书到docker配置中;

第二创建模块,用于用户创建docker镜像,并将其重命名;

推送模块,用于将docker镜像推送到docker私有仓库;

验证模块,用于服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则进入第二创建模块。

进一步地,还包括:

搭建模块,用于在服务端搭建docker环境。

进一步地,还包括:

拉取模块,用于服务端从dockerregistry官方镜像仓库拉取一个镜像,防火墙同时开放5000端口对外监听。

进一步地,还包括:

下发模块,服务端将证书下发给使用docker私有仓库镜像的客户端。

与现有技术相比,本发明具有以下优点:

本发明借助开源的dockerregistry镜像和openssl工具搭建安全的docker私有仓库,使得docker镜像在可控的范围内更灵活和方便地提供使用;dockerregistry构建自己的docker私有仓库,使用opensslopenssl创建证书,然后加载证书到docker配置中,相当于对镜像进行了网络加固和保护,满足了当前客户对其性能提升和更高的安全要求考虑的要求,这样管理员将仓库放置在公司自有网络内部可加快用户镜像的推送与拉取,弥补了docker公共仓库使用不便和不安全的缺陷,并且确保了安全性和方便管理,从而同时满足了网络带宽、ssl安全性、磁盘存储、监控等要求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例。

图1是本发明一种搭建及使用安全docker私有仓库的方法流程示意图。

图2为本发明一种搭建及使用安全docker私有仓库的方法的另一种流程示意图。

图3是本发明一种搭建及使用安全docker私有仓库的方法的结构示意图。

图4是本发明一种搭建及使用安全docker私有仓库的装置的另一种结构示意图。

具体实施方式

为了便于理解,对本发明中出现的部分名词作以下解释说明:

docker,一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

dockerregistry:是一个存储和分享docker镜像的服务。

lvm,英文全称为logicalvolumemanager,中文翻译为逻辑卷管理,它是linux环境下对磁盘分区进行管理的一种机制,它由heinzmauelshagen在linux2.4内核上实现。

lvm挂载盘,磁盘是采用的lvm卷的分区。

openssl,英文全称为opensecuresocketslayer,中文翻译为开放式安全套接层协议,是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及ssl协议,并提供丰富的应用程序供测试或其它目的使用。

镜像,一种文件存储形式,将特定的一系列文件按照一定的格式制作成单一的文件,以方便用户下载和使用。

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述:

实施例1

本发明一种搭建及使用安全docker私有仓库的方法,如图1所示,包括以下步骤:

s101:下载dockerregistry官方镜像仓库;

s102:创建lvm挂载盘用于挂载docker镜像;

s103:服务端使用openssl创建证书,然后加载证书到docker配置中;

s104:运行dockerregistry服务构建docker私有仓库;

s105:客户端获取服务端的证书并保存,然后再次加载证书到docker配置中;

s106:用户创建docker镜像,并将其重命名;

s107:将docker镜像推送到docker私有仓库;

s108:服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则返回s106。

作为一种实施方式,本方法基于centosrelease7操作系统。

作为一种实施方式,本方法基于etcd和swarm搭建的1.11.1版本的docker集群环境。

作为一种实施方式,本方法服务端编程基于go语言编程实现。

作为一种实施方式,本方法基于的dockerregistry官方镜像版本为2.5.0。

作为一种实施方式,本方法基于的openssl版本为1.0.1e-51.el7_2.5。

实施例2

本发明另一种搭建及使用安全docker私有仓库的方法,如图2所示,包括以下步骤:

s201:在服务端搭建docker环境;

s202:下载dockerregistry官方镜像仓库;

s203:创建lvm挂载盘用于挂载docker镜像;

s204:服务端从dockerregistry官方镜像仓库拉取一个镜像,防火墙同时开放5000端口对外监听;

s205:服务端使用openssl创建证书,然后通过修改docker的配置,加载openssl生成的证书到docker配置中;

s206:运行dockerregistry服务构建docker私有仓库;

s207:服务端将证书下发给使用docker私有仓库镜像的客户端;

s208:客户端获取服务端的证书并保存,然后通过修改docker的配置,再次加载openssl生成的证书到docker配置中;

s209:用户创建docker镜像,并将其重命名;

s210:将docker镜像推送到docker私有仓库;

s211:服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则返回s209。

作为一种实施方式,本方法基于centosrelease7操作系统。

作为一种实施方式,本方法基于etcd和swarm搭建的1.11.1版本的docker集群环境。

作为一种实施方式,本方法服务端编程基于go语言编程实现。

作为一种实施方式,本方法基于的dockerregistry官方镜像版本为2.5.0。

作为一种实施方式,本方法基于的openssl版本为1.0.1e-51.el7_2.5。

实施例3

本发明一种搭建及使用安全docker私有仓库的装置,如图3所示,包括:

下载模块301,第一创建模块302,第一加载模块303,运行模块304,第二加载模块305,第二创建模块306,推送模块307,验证模块308;其中下载模块301依次连接第一创建模块302、第一加载模块303、运行模块304、第二加载模块305、第二创建模块306、推送模块307和验证模块308。

下载模块301,用于下载dockerregistry官方镜像仓库;

第一创建模块302,用于创建lvm挂载盘用于挂载docker镜像;

第一加载模块303,用于服务端使用openssl创建证书,然后加载证书到docker配置中;

运行模块304,用于运行dockerregistry服务构建docker私有仓库;

第二加载模块305,用于客户端获取服务端的证书并保存,然后再次加载证书到docker配置中;

第二创建模块306,用于用户创建docker镜像,并将其重命名;

推送模块307,用于将docker镜像推送到docker私有仓库;

验证模块308,用于服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则返回第二创建模块。

作为一种实施方式,本装置基于centosrelease7操作系统。

作为一种实施方式,本装置基于etcd和swarm搭建的1.11.1版本的docker集群环境。

作为一种实施方式,本装置服务端编程基于go语言编程实现。

作为一种实施方式,本装置基于的dockerregistry官方镜像版本为2.5.0。

作为一种实施方式,本装置基于的openssl版本为1.0.1e-51.el7_2.5。

实施例4

本发明另一种搭建及使用安全docker私有仓库的装置,如图4所示,包括:

搭建模块401,下载模块402,第一创建模块403,拉取模块404,第一加载模块405,运行模块406,下发模块407,第二加载模块408,第二创建模块409,推送模块410,验证模块411;其中搭建模块401依次连接下载模块402、第一创建模块403、拉取模块404、第一加载模块405、运行模块406、下发模块407、第二加载模块408、第二创建模块409、推送模块410、验证模块411。

搭建模块401,用于在服务端搭建docker环境;

下载模块402,用于下载dockerregistry官方镜像仓库;

第一创建模块403,用于创建lvm挂载盘用于挂载docker镜像;

拉取模块404,用于服务端从dockerregistry官方镜像仓库拉取一个镜像,防火墙同时开放5000端口对外监听;

第一加载模块405,用于服务端使用openssl创建证书,然后加载证书到docker配置中;

运行模块406,用于运行dockerregistry服务构建docker私有仓库;

下发模块407,服务端将证书下发给使用docker私有仓库镜像的客户端;

第二加载模块408,用于客户端获取服务端的证书并保存,然后再次加载证书到docker配置中;

第二创建模块409,用于用户创建docker镜像,并将其重命名;

推送模块410,用于将docker镜像推送到docker私有仓库;

验证模块411,用于服务端验证docker镜像是否保存成功,若保存成功,则其他用户则可拉取该docker镜像,若保存失败,则返回第二创建模块。

作为一种实施方式,本装置基于centosrelease7操作系统。

作为一种实施方式,本装置基于etcd和swarm搭建的1.11.1版本的docker集群环境。

作为一种实施方式,本装置服务端编程基于go语言编程实现。

作为一种实施方式,本装置基于的dockerregistry官方镜像版本为2.5.0。

作为一种实施方式,本装置基于的openssl版本为1.0.1e-51.el7_2.5。

以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1