ASE docker related research

2024-05-10 16:36
文章标签 docker ase research related

本文主要是介绍ASE docker related research,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ASE 2022 

Understanding and Predicting Docker Build Duration: An Empirical Study of Containerized Workflow of OSS Projects

理解和预测 Docker 构建持续时间:OSS 项目容器化工作流程的实证研究

Docker 构建是容器化工作流程的关键组成部分,它自动执行将源打包并转换为容器映像的过程。如果运行不正常,Docker 构建会带来较长的持续时间(即构建缓慢),从而增加人力和计算资源的成本,从而不可避免地影响软件开发。然而,Docker 构建持续时间成本的现状和补救措施仍不清楚,需要深入研究。为了填补这一空白,本文对 5,833 个开源软件 (OSS) 项目的 171,439 个 Docker 构建进行了首次实证调查。从探索性研究开始,可以在实际项目中描述 Docker 构建持续时间,并通过全面调查获得开发人员对缓慢构建的看法。在探索性研究结果的推动下,我们提出了 Docker 构建持续时间的预测模型,利用来自构建相关上下文和配置的 27 个手工特征以及 8 种回归算法来执行预测任务。我们的结果表明,随机森林模型提供了卓越的性能,Spearman 相关性为 0.781,在 RMSE、MAE 和 MAPE 方面分别优于基线随机模型 82.9%、90.6% 和 94.4%。这项研究的意义将促进研究并帮助从业者改进 Docker 构建过程。

ASE 2021 

Refactorings and Technical Debt in Docker Projects: An Empirical Study 

Docker 项目中的重构和技术债务:实证研究

软件容器,例如 Docker,最近被认为是提供可重用软件工件的主流技术。开发人员可以基于大量公开的可重用 Docker 镜像轻松构建和部署他们的应用程序。因此,当前业界的流行趋势是应用程序的容器化。然而,基于容器的项目会损害不同的组件,包括 Docker 和 Docker-compose 文件,以及组合不同容器并促进与它们交互的源代码的其他几个依赖项。与任何其他复杂系统类似,基于容器的项目很容易出现与不同工件相关的各种质量和技术债务问题:Docker 和 Docker-compose 文件以及常规源代码文件。不幸的是,在基于容器的项目如何实际发展和维护方面存在知识差距。在本文中,我们通过研究重构来解决上述差距,即在开源 Docker 项目中应用的重构,即在保留行为的同时进行结构变化,以及它们缓解的技术债务问题。我们分析了 68 个项目,其中包括 19.5 个 MLOC,以及 193 个手动检查的提交。结果表明,开发人员出于特定于容器的配置、组合和执行的各种原因重构这些 Docker 项目,与现有重构领域相比,导致出现了几种新的技术债务类别和重构类型。例如,减少 Dockerfile 镜像大小的重构、提高 Docker-compose 文件的可扩展性以及定期源代码重构等,主要与 Docker 和 Docker-compose 文件的演变有关。我们还分别引入了 24 个新的 Docker 特定重构和技术债务类别,并定义了不同的最佳实践。这项研究的意义将帮助从业者、工具构建者和教育工作者提高 Docker 项目的质量。

ASE 2018 

RUDSEA: recommending updates of Dockerfiles via software environment analysis

RUDSEA:通过软件环境分析推荐 Dockerfile 更新

Dockerfile是docker镜像的配置文件,它打包了软件的所有依赖项,以方便软件部署和移植。换句话说,dockerfiles 列出了软件应用程序构建和/或执行的所有环境假设,因此当环境假设在快速软件演进过程中发生变化时,它们需要经常更新。在本文中,我们提出了 RUDSEA,这是一种基于分析软件环境假设的变化及其影响向开发人员推荐 dockerfile 更新的新颖方法。我们对 1,199 个实际指令更新的评估表明,RUDSEA 可以为 78.5% 的更新推荐正确的更新位置,并为 44.1% 的更新推荐正确的代码更改。(新思想短论文)

这篇关于ASE docker related research的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/976975

相关文章

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock

docker 重命名镜像的实现方法

《docker重命名镜像的实现方法》在Docker中无法直接重命名镜像,但可通过添加新标签、删除旧镜像后重新拉取/构建,或在DockerCompose中修改配置文件实现名称变更,感兴趣的可以了解一下... 目录使用标签(Tagging)删除旧的php镜像并重新拉取或构建使用docker Compose在Do

docker编写java的jar完整步骤记录

《docker编写java的jar完整步骤记录》在平常的开发工作中,我们经常需要部署项目,开发测试完成后,最关键的一步就是部署,:本文主要介绍docker编写java的jar的相关资料,文中通过代... 目录all-docker/生成Docker打包部署文件配置服务A的Dockerfile (a/Docke

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

SpringBoot结合Docker进行容器化处理指南

《SpringBoot结合Docker进行容器化处理指南》在当今快速发展的软件工程领域,SpringBoot和Docker已经成为现代Java开发者的必备工具,本文将深入讲解如何将一个SpringBo... 目录前言一、为什么选择 Spring Bootjavascript + docker1. 快速部署与

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp