论文部分内容阅读
Docker是容器虚拟化的主流技术和典型代表,它将应用及其依赖和运行环境打包为标准的、自包含的镜像(Docker Image)发布,通过创建容器实例(Docker Container)实现应用的快速交付和迭代。当前,Docker技术得到广泛应用,互联网开源社区中存在数量众多、可重用的Docker制品,同时也给Docker镜像的管理和质量保障带来诸多问题,其中包括:(1)目前的镜像管理系统,检索方式单一,缺少标签信息,用户很难快速了解镜像间差异,容易引起对镜像的误用;(2)Dockerfile是构建Docker镜像的主要方法,而公共镜像仓库中的Dockerfile的质量难以保证,可能会引起镜像的构建失败。因此,研究Docker容器镜像的标签自动化生成方法和Dockerfile的质量检测与修复推荐方法具有重要意义和现实价值。 论文首先提出一种面向Docker镜像的标签自动推荐方法,该方法基于Dockerfile相似度和L-LDA(Labeled Latent Dirichlet Allocation)模型,实现一种多模型融合的Docker项目标签推荐方法。经实验验证,该方法在测试数据集上的Recall@5和Recall@10分别可以达到0.675和0.712,并在缺少描述文档信息的场景下效果远远好于相关工作。其次,论文对10万多个公共Docker镜像仓库中Dockerfile的质量问题进行了分析和归类,并针对Dockerfile的基础镜像版本号缺失问题提出了一种基于相似度的自动修复方法。经实验验证,该方法对问题Dockerfile进行修复,能够提升25.6%的镜像构建成功率。 最后,论文基于以上研究成果,设计并实现了Docker容器镜像智能分析与管理工具。该工具实现了标签推荐、质量分析、安全缺陷检测和Docker镜像检索等功能,有助于提升大规模Docker容器镜像的管理效率和制品质量。