实现Docker镜像服务的方法和系统技术方案

技术编号:14402717 阅读:74 留言:0更新日期:2017-01-11 14:57
本发明专利技术的主要目的是提供一种实现Docker镜像服务的方法和系统,有助于提高Docker镜像服务的安全性。在本发明专利技术的技术方案中,在现有的Docker客户端与Docker镜像服务器的基础上,添加了拦截器、命令客户端、应用服务器,由拦截器拦截Docker客户端与Docker镜像服务器之间发送的信息,由应用服务器对用户身份及用户权限进行校验,并为登录用户设置命名空间,取代了不安全的授权认证方式。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别地涉及一种实现Docker镜像服务的方法和系统
技术介绍
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker镜像服务器是用来集中管理Docker镜像的一个系统,安装在一台Linux服务器上,用于存储及简单管理镜像。相应地,Docker客户端用于向Docker镜像服务器发送Docker操作指令。现有的Docker镜像服务可以进行简单的权限认证及命名空间分配。按照现有的做法,任何人在第一次使用镜像服务器时,简单的注册到镜像服务器之后就可以操作镜像服务,这样的处理方式并不能满足对安全有一定要求的生产环境。
技术实现思路
有鉴于此,本专利技术的主要目的是提供一种实现Docker镜像服务的方法和系统,有助于提高Docker镜像服务的安全性。本专利技术的其他目的、有益效果可以从具体实施方式中得出。为实现上述目的,根据本专利技术的一个方面,提供了一种实现Docker镜像服务的方法。本专利技术的实现Docker镜像服务的方法包括:拦截器拦截Docker客户端向Docker镜像服务器发送的第一用户登录信息然后转发给应用服务器,该应用服务器校验该第一用户登录信息,在校验通过的情况下,向所述拦截器发送校验完毕提示信息,所述拦截器在收到该校验完毕提示信息的情况下,向所述Docker镜像服务器发送第一用户登录信息;所述拦截器在拦截到所述Docker镜像服务器向所述Docker客户端返回的命名空间的标识的情况下,将该命名空间的标识转发给所述Docker客户端和所述应用服务器,所述应用服务器保存所述第一用户与所述命名空间之间的对应关系;所述拦截器拦截所述Docker客户端发送给所述Docker镜像服务器的镜像推送请求然后将该镜像推送请求转发给所述应用服务器,所述应用服务器根据所述对应关系判断在该镜像推送请求中,用户与命名空间之间是否对应,然后将判断结果返回给所述拦截器;所述拦截器在所述判断的结果为是的情况下,向所述Docker镜像服务器发送镜像推送请求;所述拦截器在拦截到所述Docker镜像服务器返回的镜像推送成功的通知消息的情况下,向所述应用服务器发送镜像推送成功的提示信息以及该镜像的镜像基本信息;所述应用服务器在收到所述镜像推送成功的提示信息以及所述镜像基本信息的情况下,保存所述镜像基本信息。可选地,保存所述镜像基本信息的步骤之后,还包括:所述应用服务器向命令客户端发送反馈信息,该反馈信息中包含用于提示镜像已推送成功的提示消息,以及包含如下的一种或几种:推送的镜像是否完整的信息、提示当前镜像是否为其他人可见的提示信息、提示完善镜像的软件安装信息的提示信息。可选地,保存所述镜像基本信息的步骤包括:将所述镜像基本信息保存在数据库中;保存所述镜像基本信息的步骤之后,还包括:所述应用服务器向所述命令客户端发送用于获取镜像详细信息的指令;所述命令客户端根据该指令,从所述Docker镜像服务器获取镜像详细信息然后发送给所述应用服务器;所述应用服务器将所述镜像详细信息保存到所述数据库中。可选地,保存所述镜像基本信息的步骤之后,还包括:所述命令客户端根据所述第一用户的操作登录所述应用服务器,然后设置镜像权限,所述镜像权限包括仅所述第一用户可见的权限和所有用户可见的权限;所述拦截器在拦截到所述Docker客户端向所述Docker镜像服务器发送的拉取镜像请求的情况下,将该拉取镜像请求转发给所述应用服务器;所述应用服务器对所述拉取镜像请求中的当前用户的用户信息进行镜像权限认证然后返回认证结果;在所述认证结果表示所述权限认证通过的情况下,所述拦截器将所述拉取镜像请求发送给所述Docker镜像服务器;所述拦截器在收到所述Docker镜像服务器发送的表示镜像拉取完成的返回信息的情况下,向所述应用服务器发送表示镜像拉取完成的通知信息;所述应用服务器在收到表示镜像拉取完成的通知信息的情况下,更新该镜像的拉取次数,以及记录所述当前用户的用户信息。根据本专利技术的另一方面,提供了一种实现Docker镜像服务的系统。本专利技术的实现Docker镜像服务的系统,包括Docker客户端设备和Docker镜像服务器,所述系统还包括拦截器和应用服务器,其中,拦截器用于拦截Docker客户端向Docker镜像服务器发送的第一用户登录信息然后转发给应用服务器,所述应用服务器用于校验该第一用户登录信息,在校验通过的情况下,向所述拦截器发送校验完毕提示信息,所述拦截器还用于在收到该校验完毕提示信息的情况下,向所述Docker镜像服务器发送第一用户登录信息;所述拦截器还用于在拦截到所述Docker镜像服务器向所述Docker客户端返回的命名空间的标识的情况下,将该命名空间的标识转发给所述Docker客户端和所述应用服务器,所述应用服务器还用于保存所述第一用户与所述命名空间之间的对应关系;所述拦截器还用于拦截所述Docker客户端发送给所述Docker镜像服务器的镜像推送请求然后将该镜像推送请求转发给所述应用服务器,所述应用服务器还用于根据所述对应关系判断在该镜像推送请求中,用户与命名空间之间是否对应,然后将判断结果返回给所述拦截器;所述拦截器还用于在所述判断的结果为是的情况下,向所述Docker镜像服务器发送镜像推送请求;所述拦截器还用于在拦截到所述Docker镜像服务器返回的镜像推送成功的通知消息的情况下,向所述应用服务器发送镜像推送成功的提示信息以及该镜像的镜像基本信息;所述应用服务器还用于在收到所述镜像推送成功的提示信息以及所述镜像基本信息的情况下,保存所述镜像基本信息。可选地,还包括命令客户端;所述应用服务器还用于在保存所述镜像基本信息之后,向所述命令客户端发送反馈信息,该反馈信息中包含用于提示镜像已推送成功的提示信息,以及包含如下的一种或几种:推送的镜像是否完整的信息、提示当前镜像是否为其他人可见的提示信息、提示完善镜像的软件安装信息的提示信息。可选地,所述应用服务器还用于将所述镜像基本信息保存在数据库中,以及向所述命令客户端发送用于获取镜像详细信息的指令;所述命令客户端用于根据所述指令,从所述Docker镜像服务器获取镜像详细信息然后发送给所述应用服务器;所述应用服务器还用于将所述镜像详细信息保存到所述数据库中。可选地,所述命令客户端还用于根据所述第一用户的操作登录所述应用服务器,然后设置镜像权限,所述镜像权限包括仅该当前用户可见的权限和所有用户可见的权限;所述拦截器还用于在拦截到所述Docker客户端向所述Docker镜像服务器发送的拉取镜像请求的情况下,将该拉取镜像请求转发给所述应用服务器;所述应用服务器还用于对所述拉取镜像请求中的当前用户的用户信息进行权限认证然后返回认证结果;所述拦截器还用于在所述认证结果表示所述权限认证通过的情况下,将所述拉取镜像请求发送给所述Docker镜像服务器;所述拦截器还用于在收到所述Docker镜像服务器发送的表示镜像拉取完成的返回信息的情况下,向所述应用服务器发送表示镜像拉取完成的通知信息;所述应用服务器还用于在收到表示镜像拉取完成的通知信息的情况下,更本文档来自技高网...
实现Docker镜像服务的方法和系统

【技术保护点】
一种实现Docker镜像服务的方法,其特征在于,包括:拦截器拦截Docker客户端向Docker镜像服务器发送的第一用户登录信息然后转发给应用服务器,该应用服务器校验该第一用户登录信息,在校验通过的情况下,向所述拦截器发送校验完毕提示信息,所述拦截器在收到该校验完毕提示信息的情况下,向所述Docker镜像服务器发送第一用户登录信息;所述拦截器在拦截到所述Docker镜像服务器向所述Docker客户端返回的命名空间的标识的情况下,将该命名空间的标识转发给所述Docker客户端和所述应用服务器,所述应用服务器保存所述第一用户与所述命名空间之间的对应关系;所述拦截器拦截所述Docker客户端发送给所述Docker镜像服务器的镜像推送请求然后将该镜像推送请求转发给所述应用服务器,所述应用服务器根据所述对应关系判断在该镜像推送请求中,用户与命名空间之间是否对应,然后将判断结果返回给所述拦截器;所述拦截器在所述判断的结果为是的情况下,向所述Docker镜像服务器发送镜像推送请求;所述拦截器在拦截到所述Docker镜像服务器返回的镜像推送成功的通知消息的情况下,向所述应用服务器发送镜像推送成功的提示信息以及该镜像的镜像基本信息;所述应用服务器在收到所述镜像推送成功的提示信息以及所述镜像基本信息的情况下,保存所述镜像基本信息。...

【技术特征摘要】
1.一种实现Docker镜像服务的方法,其特征在于,包括:拦截器拦截Docker客户端向Docker镜像服务器发送的第一用户登录信息然后转发给应用服务器,该应用服务器校验该第一用户登录信息,在校验通过的情况下,向所述拦截器发送校验完毕提示信息,所述拦截器在收到该校验完毕提示信息的情况下,向所述Docker镜像服务器发送第一用户登录信息;所述拦截器在拦截到所述Docker镜像服务器向所述Docker客户端返回的命名空间的标识的情况下,将该命名空间的标识转发给所述Docker客户端和所述应用服务器,所述应用服务器保存所述第一用户与所述命名空间之间的对应关系;所述拦截器拦截所述Docker客户端发送给所述Docker镜像服务器的镜像推送请求然后将该镜像推送请求转发给所述应用服务器,所述应用服务器根据所述对应关系判断在该镜像推送请求中,用户与命名空间之间是否对应,然后将判断结果返回给所述拦截器;所述拦截器在所述判断的结果为是的情况下,向所述Docker镜像服务器发送镜像推送请求;所述拦截器在拦截到所述Docker镜像服务器返回的镜像推送成功的通知消息的情况下,向所述应用服务器发送镜像推送成功的提示信息以及该镜像的镜像基本信息;所述应用服务器在收到所述镜像推送成功的提示信息以及所述镜像基本信息的情况下,保存所述镜像基本信息。2.根据权利要求1所述的方法,其特征在于,保存所述镜像基本信息的步骤之后,还包括:所述应用服务器向命令客户端发送反馈信息,该反馈信息中包含用于提示镜像已推送成功的提示消息,以及包含如下的一种或几种:推送的镜像是否完整的信息、提示当前镜像是否为其他人可见的提示信息、提示完善镜像的软件安装信息的提示信息。3.根据权利要求1或2所述的方法,其特征在于,保存所述镜像基本信息的步骤包括:将所述镜像基本信息保存在数据库中;保存所述镜像基本信息的步骤之后,还包括:所述应用服务器向所述命令客户端发送用于获取镜像详细信息的指令;所述命令客户端根据该指令,从所述Docker镜像服务器获取镜像详细信息然后发送给所述应用服务器;所述应用服务器将所述镜像详细信息保存到所述数据库中。4.根据权利要求2所述的方法,其特征在于,保存所述镜像基本信息的步骤之后,还包括:所述命令客户端根据所述第一用户的操作登录所述应用服务器,然后设置镜像权限,所述镜像权限包括仅所述第一用户可见的权限和所有用户可见的权限;所述拦截器在拦截到所述Docker客户端向所述Docker镜像服务器发送的拉取镜像请求的情况下,将该拉取镜像请求转发给所述应用服务器;所述应用服务器对所述拉取镜像请求中的当前用户的用户信息进行镜像权限认证然后返回认证结果;在所述认证结果表示所述权限认证通过的情况下,所述拦截器将所述拉取镜像请求发送给所述Docker镜像服务器;所述拦截器在收到所述Docker镜像服务器发送的表示镜像拉取完成的返回信息的情况下,向所述应用服务器发送表示镜像拉取完成的通知信息;所述应用服务器在收到表示镜像拉取完成的通知信息的情况下,更新该镜像的拉取次数,以及记录所述当前用户的用户信息。5.一种实现Docker镜像服务的系统,包括Docker...

【专利技术属性】
技术研发人员:冯文杨金城
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1