当前位置: X-MOL 学术Empir. Software Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Too many images on DockerHub! How different are images for the same system?
Empirical Software Engineering ( IF 3.5 ) Pub Date : 2020-08-28 , DOI: 10.1007/s10664-020-09873-0
Md Hasan Ibrahim , Mohammed Sayagh , Ahmed E Hassan

Containerization is a technique used to encapsulate a software system and its dependencies into one isolated package, which is called a container. The goal of these containers is to deploy or replicate a software system on various platforms and environments without facing any compatibility or dependency issues. Developers can instantiate these containers from images using Docker; one of the most popular containerization platforms. Furthermore, many of these images are publicly available on DockerHub, on which developers can share their images with the community who in turn can leverage such publicly available image. However, DockerHub contains thousands of images for each software system, which makes the selection of an image a nontrivial task. In this paper, we investigate the differences among DockerHub images for five software systems and 936 images with the goal of helping Docker tooling creators and DockerHub better guide users select a suitable image. We observe that users tend to download the official images (images that are provided by Docker itself) when there exist a large number of image choices for each single software system on the community images (images that are provided by the community developers), which are in many cases more resource efficient (have less duplicate resources) and have less security vulnerabilities. In fact, we observe that 27% (median), 35% (median), 6% (median), and 9% (median) of the DockerHub Debian, Centos, Ubuntu, and Alpine based images are identical to another image across all the studied software systems. Furthermore, 26% (median), 49% (median), and 8% (median) of the Alpine, Debian, and Ubuntu based community images are more resource efficient than their respective official images across all the five studied software systems. 7% (median) of the community Debian based images have less security vulnerabilities than their respective official images across the four studied software systems, for which an official Debian based image exists. Unfortunately, the description of 78% of the studied images do not guide users when selecting an image (the description does not exist at all or it does not highlight the particularities of the image), we suggest that Docker tooling creators and DockerHub design approaches to distinguish DockerHub images and help users find the most suitable images for their needs.

中文翻译:

DockerHub 上的图像太多!同一系统的图像有多大不同?

容器化是一种用于将软件系统及其依赖项封装到一个独立的包中的技术,称为容器。这些容器的目标是在各种平台和环境上部署或复制软件系统,而不会面临任何兼容性或依赖性问题。开发人员可以使用 Docker 从镜像中实例化这些容器;最受欢迎的容器化平台之一。此外,这些镜像中有许多在 DockerHub 上是公开可用的,开发人员可以在 DockerHub 上与社区共享他们的镜像,而社区又可以利用这些公开可用的镜像。然而,DockerHub 为每个软件系统包含数千个镜像,这使得选择镜像成为一项重要的任务。在本文中,我们调查了 5 个软件系统和 936 个镜像的 DockerHub 镜像之间的差异,目的是帮助 Docker 工具创建者和 DockerHub 更好地引导用户选择合适的镜像。我们观察到,当社区镜像(社区开发者提供的镜像)上每个软件系统存在大量镜像选择时,用户倾向于下载官方镜像(Docker 自己提供的镜像)。在许多情况下,资源效率更高(重复资源更少)并且安全漏洞更少。事实上,我们观察到基于 DockerHub Debian、Centos、Ubuntu 和 Alpine 的镜像有 27%(中位数)、35%(中位数)、6%(中位数)和 9%(中位数)与另一个镜像相同所研究的软件系统。此外,26%(中位数)、49%(中位数)、和 8%(中位数)的基于 Alpine、Debian 和 Ubuntu 的社区映像在所有五个研究的软件系统中比它们各自的官方映像更具资源效率。在四个研究的软件系统中,7%(中位数)的社区基于 Debian 的映像比它们各自的官方映像具有更少的安全漏洞,其中存在基于 Debian 的官方映像。不幸的是,78% 的研究镜像的描述没有指导用户选择镜像(描述根本不存在或没有突出镜像的特殊性),我们建议 Docker 工具创建者和 DockerHub 设计方法区分DockerHub镜像,帮助用户找到最适合自己需求的镜像。在所有五个研究的软件系统中,基于 Ubuntu 的社区映像比它们各自的官方映像更具资源效率。在四个研究的软件系统中,7%(中位数)的社区基于 Debian 的映像比它们各自的官方映像具有更少的安全漏洞,其中存在基于 Debian 的官方映像。不幸的是,78% 的研究镜像的描述没有指导用户选择镜像(描述根本不存在或没有突出镜像的特殊性),我们建议 Docker 工具创建者和 DockerHub 设计方法区分DockerHub镜像,帮助用户找到最适合自己需求的镜像。在所有五个研究的软件系统中,基于 Ubuntu 的社区映像比它们各自的官方映像更具资源效率。在四个研究的软件系统中,7%(中位数)的社区基于 Debian 的映像比它们各自的官方映像具有更少的安全漏洞,其中存在基于 Debian 的官方映像。不幸的是,78% 的研究镜像的描述没有指导用户选择镜像(描述根本不存在或没有突出镜像的特殊性),我们建议 Docker 工具创建者和 DockerHub 设计方法区分DockerHub镜像,帮助用户找到最适合自己需求的镜像。在四个研究的软件系统中,7%(中位数)的社区基于 Debian 的映像比它们各自的官方映像具有更少的安全漏洞,其中存在基于 Debian 的官方映像。不幸的是,78% 的研究镜像的描述没有指导用户选择镜像(描述根本不存在或没有突出镜像的特殊性),我们建议 Docker 工具创建者和 DockerHub 设计方法区分DockerHub镜像,帮助用户找到最适合自己需求的镜像。在四个研究的软件系统中,7%(中位数)的社区基于 Debian 的映像比它们各自的官方映像具有更少的安全漏洞,其中存在基于 Debian 的官方映像。不幸的是,78% 的研究镜像的描述没有指导用户选择镜像(描述根本不存在或没有突出镜像的特殊性),我们建议 Docker 工具创建者和 DockerHub 设计方法区分DockerHub镜像,帮助用户找到最适合自己需求的镜像。
更新日期:2020-08-28
down
wechat
bug