An Empirical Investigation into the use of Dockerfile Preprocessors for Docker Image Management
Docker plays a crucial role in providing uniform software development. Many Docker development projects deliver multiple images in order to support various users who need different base images, versions, and architectures. To do so, the projects need to develop different contents of Dockerfiles for each support. For example, if developers provide their product on different Linux OSs, Dockerfiles need to contain package installing commands with an appropriate package manager for each Linux OS. To reduce the development tasks, many projects often develop their own tool to generate multiple Docker images automatically (hereafter, Dockerfile Preprocessors). However, it is still not clear how the projects adopt Dockerfile Preprocessors and what the benefits are. This study explores the characteristics of projects using Dockerfile Preprocessors, the timing, impact, and purpose, and the maintenance effort of using Dockerfile Preprocessors. Our empirical results show that (i) there is “Container build” pattern that does not generate multiple Dockerfiles; (ii) Projects using DPPs have more tags, supported Docker images, and architecture supports than projects without DPPs; (iii) 66% of projects develop DPPs in the middle of development; (iv) the common reasons for adopting DPP is to reduce the effort of creating Dock-erfiles, and to ease updating versions/variations/architectures; (v) the adoption of DPPs does not increase releasing activities.
Authors
- Yutaro Kashiwa (ORCID: https://orcid.org/0000-0002-9633-7577)
- Hajimu Iida (ORCID: https://orcid.org/0000-0002-2919-6620)
- Kenji Fujiwara (ORCID: https://orcid.org/0000-0002-1562-9341)
- Wataru Mabuchi
Institutions
- Nara Women's University (JP)
Publication Details
- Published
- 2024-10-07
- DOI
- https://doi.org/10.1109/scam63643.2024.00012
- Primary Topic
- Distributed and Parallel Computing Systems
- Type
- article
- Field-Weighted Citation Impact
- 0.00