1. 中国科学院大学,北京 100190
2. 中国科学院软件研究所,北京 100190
[ "陈伟(1980- ),男,博士,中国科学院软件研究所副研究员,中国计算机学会会员,主要研究方向为软件工程、网络分布式计算等。" ]
[ "叶宏杰(1996- ),男,中国科学院软件研究所硕士生,主要研究方向为软件工程" ]
[ "周家宏(1995- ),男,中国科学院软件研究所硕士生,主要研究方向为机器学习、知识图谱等" ]
[ "魏峻(1970- ),男,博士,中国科学院软件研究所研究员、博士生导师,主要研究方向为软件工程、网络分布式计算等" ]
网络首发:2021-01,
纸质出版:2021-01-15
移动端阅览
陈伟, 叶宏杰, 周家宏, 等. 基于领域知识的Docker镜像自动构建方法[J]. 大数据, 2021,7(1):2021005-1.
Wei CHEN, Hongjie YE, Jiahong ZHOU, et al. An approach to automatically building Docker images by using domain knowledge[J]. Big Data Research, 2021, 7(1): 2021005-1.
陈伟, 叶宏杰, 周家宏, 等. 基于领域知识的Docker镜像自动构建方法[J]. 大数据, 2021,7(1):2021005-1. DOI: 10.11959/j.issn.2096-0271.2021005.
Wei CHEN, Hongjie YE, Jiahong ZHOU, et al. An approach to automatically building Docker images by using domain knowledge[J]. Big Data Research, 2021, 7(1): 2021005-1. DOI: 10.11959/j.issn.2096-0271.2021005.
Dockerfile是构建Docker应用镜像的脚本代码,包含软件系统镜像构建所需的软件包及其依赖的下载、安装和配置的所有指令。编写Dockerfile需要丰富的领域知识,否则编写的Dockerfile容易产生镜像构建错误。针对此问题,提出一种基于领域知识的Docker镜像自动构建方法。该方法通过对大规模Dockerfile的自动解析,分析提取构建Docker镜像所需的软件依赖及安装配置等领域知识;在面向特定软件系统构建镜像时,从已构建的领域知识库中分析推断指定软件的依赖关系及安装操作,生成Dockerfile来构建Docker镜像。实验结果表明,该方法具有利用领域知识推断系统依赖关系和软件包安装方式、生成不同软件Dockerfile的能力。
A Dockerfile builds a Docker image by specifying how to construct a software system by downloading
installing and configuring software packages and their dependencies. However
manually writing a Dockerfile can be error-prone because system dependency resolution requires a lot of domain knowledge. Therefore
an approach to automating Dockerfile generation based on domain knowledge was proposed. The approach automatically parses Dockerfiles and extracts knowledge of building Docker images and stores the knowledge in a graph database. When generating new Dockerfiles
the system dependencies and their installation operations for the designated software based on the knowledge base were inferred. Experiments indicate that it is viable to automate Dockerfile generation for diversified software by inferring system dependencies and software package installations with the domain knowledge.
EBERT C , GALLARDO G , HERNANTES J , et al . DevOps [J ] . IEEE Software , 2016 , 33 ( 3 ): 94 - 100 .
MERKEL D . Docker: lightweight Linux containers for consistent development and deploymen [J ] . Linux Journal , 2014 .
CITO J , SCHERMANN G , WITTERN J E , et al . An empirical analysis of the Docker container ecosystem on GitHub [C ] // 2017 IEEE/ACM 14th International Conference on Mining Software Repositories . Piscataway: IEEE Press , 2017 : 323 - 333 .
HENKEL J , BIRD C , LAHIRI S K , et al . Learning from, understanding, and supporting DevOps artifacts for Docker [C ] // The ACM/IEEE 42nd International Conference on Software Engineering . New York: ACM Press , 2020 : 38 - 49 .
WU Y W , ZHANG Y , WANG T , et al . Characterizing the occurrence of Dockerfile smells in open-source software: an empirical study [J ] . IEEE Access , 2020 , 8 : 34127 - 34139 .
HORTON E , PARNIN C . Gistable:evaluating the executability of Python code snippets on GitHub [C ] // 2018 IEEE International Conference on Software Maintenance and Evolution . Piscataway:IEEE Press , 2018 : 217 - 227 .
HORTON E , PARNIN C . DockerizeMe:automatic inference of environment dependencies for python code snippets [C ] // 2019 IEEE/ACM 41st International Conference on Software Engineering . New York: ACM Press , 2019 : 328 - 338 .
MELO L , WIESE I S , AMORIM M D . Using Docker to assist Q&A forum users [J ] . IEEE Transactions on Software Engineering , 2019 : 1 .
OSORIO M , BUIL-ARANDA C , VARGAS H . DockerPedia: a knowledge graph of Docker images [C ] // International Semantic Web Conference (P&D/Industry/BlueSky) . [S.l.:s.n.] , 2018 .
HUO D , NABRZYSKI J , VARDEMAN C F . Smart container: an ontology towards conceptualizing Docker [C ] // International Semantic Web Conference (Posters &Demos) . [S.l.:s.n.] , 2015 .
LU Z G , XU J W , WU Y W , et al . An empirical case study on the temporary file smell in Dockerfiles [J ] . IEEE Access , 2019 , 7 : 63650 - 63659 .
HASSAN F , RODRIGUEZ R , WANG X Y . RUDSEA: recommending updates of Dockerfiles via software environment analysis [C ] // The 33rd ACM/IEEE International Conference on Automated Software Engineering . New York: ACM Press , 2018 : 796 - 801 .
0
浏览量
714
下载量
0
CSCD
关联资源
相关文章
相关作者
相关机构
京公网安备11010802024621