一种Docker的操作方法、装置、服务器和存储介质制造方法及图纸

技术编号:30170144 阅读:26 留言:0更新日期:2021-09-25 15:28
本发明专利技术实施例公开了一种Docker的操作方法、装置、服务器及存储介质,该方法包括:当获取到目标用户发出的操作指令时,判断操作指令是否为虚拟Docker命令;其中,虚拟Docker命令区别于Docker命令,目标用户包括非Docker用户组用户;若确定操作指令为虚拟Docker命令,则判断操作指令是否有效;若确定操作指令有效,则为目标用户设定临时Docker权限,并通过Docker响应操作指令。本发明专利技术实施例提供的技术方案,实现了非Docker用户组用户对Docker的操作,提高了Docker操作的便利性,避免了用户数据的泄露风险,极大地提高了Docker的安全性。极大地提高了Docker的安全性。极大地提高了Docker的安全性。

【技术实现步骤摘要】
一种Docker的操作方法、装置、服务器和存储介质


[0001]本专利技术实施例涉及软件开发领域,尤其涉及一种Docker的操作方法、装置、服务器和存储介质。

技术介绍

[0002]Docker是一个开源的应用容器引擎,由于其基于沙箱机制,相互之间不存在通信接口,因此性能开销极低,同时其具有不依赖于语言、框架的特点,因此,被广泛应用于软件程序开发中。
[0003]Docker命令的执行需要连接Docker使用的Unix Socket文件(即“/var/run/docker.sock”文件),而该文件的访问权限受到严格控制,现有技术中,如果要为用户赋予Docker权限来管理自己的容器,通常是将该用户加入Docker用户组中。
[0004]但是由于Docker的自身机制为授权即信任,拥有Docker命令权限的用户即拥有Docker的所有权限,也即Docker组中的用户可以访问任意其他用户的容器,存在用户数据泄露的风险,安全性极差。

技术实现思路

[0005]本专利技术实施例提供了一种Docker的操作方法、装置、设备和存储介质,实现了非Docker用户组用户对Docker的指令操作。
[0006]第一方面,本专利技术实施例提供了一种Docker的操作方法,包括:
[0007]当获取到目标用户发出的操作指令时,判断所述操作指令是否为虚拟Docker命令;其中,所述虚拟Docker命令区别于Docker命令,所述目标用户包括非Docker用户组用户;
[0008]若确定所述操作指令为虚拟Docker命令,则判断所述操作指令是否有效;
[0009]若确定所述操作指令有效,则为所述目标用户设定临时Docker权限,并通过Docker响应所述操作指令。
[0010]在判断所述操作指令是否为虚拟Docker命令前,还包括:通过封装脚本对至少一个目标Docker命令进行封装;其中,所述封装脚本包括封装标识;所述判断所述操作指令是否为虚拟Docker命令,包括:判断所述操作指令的前缀标识是否与所述封装标识相同;其中,若确定所述操作指令的前缀标识与所述封装标识相同,则确定所述操作指令为虚拟Docker命令;若确定所述操作指令的前缀标识与所述封装标识不同,则确定所述操作指令不为虚拟Docker命令。通过封装脚本对Docker命令进行封装,不但实现了非Docker用户组用户通过虚拟Docker命令,对Docker命令的调用,同时将特定的一个或多个Docker命令加入封装脚本时,仅为Docker用户组之外的普通用户提供封装脚本内的Docker功能,实现了对普通用户的Docker操作权限的管理。
[0011]所述判断所述操作指令是否有效,包括:判断所述至少一个目标Docker命令的操作标识中,是否存在与所述操作指令的操作标识相同的目标操作标识;其中,若确定所述至
少一个目标Docker命令的操作标识中,存在与所述操作指令的操作标识相同的目标操作标识,则确定所述操作指令有效;若确定所述至少一个目标Docker命令的操作标识中,不存在与所述操作指令的操作标识相同的目标操作标识,则确定所述操作指令无效。据此,进一步实现了对普通用户的Docker操作权限的有效管理,即仅将特定的Docker功能向普通用户开放。
[0012]在判断所述操作指令是否为虚拟Docker命令前,还包括:创建虚拟Docker用户组;其中,所述虚拟Docker用户组区别于Docker用户组;所述判断所述操作指令是否有效,包括:判断所述目标用户是否为虚拟Docker用户组用户;其中,若所述目标用户是虚拟Docker用户组用户,则确定所述操作指令有效;若所述目标用户不是虚拟Docker用户组用户,则确定所述操作指令无效。通过创建虚拟Docker用户组,既防止了Docker用户组和虚拟Docker用户组之外其他用户对Docker的随意使用,加强了对用户的身份验证,同时也确保了虚拟Docker用户组用户仅能访问自己创建的容器和镜像,避免了用户数据的泄露风险。
[0013]在创建虚拟Docker用户组后,还包括:当获取到用户关联指令时,根据所述用户关联指令,在所述虚拟Docker用户组中构建多个用户间的关联关系。非Docker用户组和Docker用户组共同构成了多层级的Docker操作权限,既保留了现有Docker用户组用户的信息共享机制,又加强了对Docker用户组之外普通用户的管理,可以根据用户的操作权限不同分配入不同的用户组中。
[0014]在确定所述操作指令有效后,还包括:根据所述操作指令的操作标识,确定所述操作指令的操作类型;若所述操作指令的操作类型为容器创建,则记录创建的容器与所述目标用户的关联关系。确保该容器仅能被目标用户访问,同时防止目标用户访问其他用户创建的容器,避免存在用户数据的泄密风险。
[0015]在确定所述操作指令的操作类型后,还包括:若所述操作指令的操作类型为容器访问,则根据所述操作指令的访问标识获取目标访问容器;获取所述目标用户与容器的关联关系;根据所述目标用户与容器的关联关系,以及所述目标访问容器,判断所述目标用户与所述目标访问容器是否匹配;所述为所述目标用户设定临时Docker权限,包括:若确定所述目标用户与所述目标访问容器匹配,则为所述目标用户设定临时Docker权限。进一步通过用户与容器是否匹配,加强了对非Docker用户组用户的操作管理,确保了Docker容器的安全性,避免了用户数据的泄露风险。
[0016]第二方面,本专利技术实施例提供了一种Docker的操作装置,包括:
[0017]虚拟Docker命令判断模块,用于当获取到目标用户发出的操作指令时,判断所述操作指令是否为虚拟Docker命令;其中,所述虚拟Docker命令区别于Docker命令,所述目标用户包括非Docker用户组用户;
[0018]有效性判断模块,用于若确定所述操作指令为虚拟Docker命令,则判断所述操作指令是否有效;
[0019]临时权限设定模块,用于若确定所述操作指令有效,则为所述目标用户设定临时Docker权限,并通过Docker响应所述操作指令。
[0020]第三方面,本专利技术实施例还提供了一种服务器,所述服务器包括:
[0021]一个或多个处理器;
[0022]存储装置,用于存储一个或多个程序;
[0023]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所述的Docker的操作方法。
[0024]第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现本专利技术任意实施例所述的Docker的操作方法。
[0025]本专利技术实施例提供的技术方案,当获取到非Docker用户组用户发出的操作指令时,若确定该操作指令为虚拟Docker命令,且该操作指令有效,则为目标用户设定临时Docker权限,并通过Docker响应所述操作指令,实现了本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Docker的操作方法,其特征在于,包括:当获取到目标用户发出的操作指令时,判断所述操作指令是否为虚拟Docker命令;其中,所述虚拟Docker命令区别于Docker命令,所述目标用户包括非Docker用户组用户;若确定所述操作指令为虚拟Docker命令,则判断所述操作指令是否有效;若确定所述操作指令有效,则为所述目标用户设定临时Docker权限,并通过Docker响应所述操作指令。2.根据权利要求1所述的方法,其特征在于,在判断所述操作指令是否为虚拟Docker命令前,还包括:通过封装脚本对至少一个目标Docker命令进行封装;其中,所述封装脚本包括封装标识;所述判断所述操作指令是否为虚拟Docker命令,包括:判断所述操作指令的前缀标识是否与所述封装标识相同;其中,若确定所述操作指令的前缀标识与所述封装标识相同,则确定所述操作指令为虚拟Docker命令;若确定所述操作指令的前缀标识与所述封装标识不同,则确定所述操作指令不为虚拟Docker命令。3.根据权利要求2所述的方法,其特征在于,所述判断所述操作指令是否有效,包括:判断所述至少一个目标Docker命令的操作标识中,是否存在与所述操作指令的操作标识相同的目标操作标识;其中,若确定所述至少一个目标Docker命令的操作标识中,存在与所述操作指令的操作标识相同的目标操作标识,则确定所述操作指令有效;若确定所述至少一个目标Docker命令的操作标识中,不存在与所述操作指令的操作标识相同的目标操作标识,则确定所述操作指令无效。4.根据权利要求1所述的方法,其特征在于,在判断所述操作指令是否为虚拟Docker命令前,还包括:创建虚拟Docker用户组;其中,所述虚拟Docker用户组区别于Docker用户组;所述判断所述操作指令是否有效,包括:判断所述目标用户是否为虚拟Docker用户组用户;其中,若所述目标用户是虚拟Docker用户组用户,则确定所述操作指令有效;若所述目标用户不是虚拟Docker用户组用户,则确定所述操作指令无效。5.根据权利要求4所述的方法,其...

【专利技术属性】
技术研发人员:原帅郝文静张涛吕灼恒
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:

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

1