On the Usage of JavaScript, Python and Ruby Packages in Docker Hub images

Research output: Contribution to journalArticlepeer-review

6 Citations (Scopus)


Docker is one of the most popular containerization technologies. A Docker container can be saved into an image including all environmental packages required to run it, such as system and third-party packages from language-specific package repositories. Relying on its modularity, an image can be shared and included in other images to simplify the way of building and packaging new software. However, some package managers allow to include duplicated packages in an image, increasing its footprint; and outdated packages may miss new features and bug fixes or contain reported security vulnerabilities, putting the image in which they are contained at risk. Previous research has focused on studying operating system packages within Docker images, but little attention has been given to third-party packages. This article empirically studies installation practices, outdatedness and vulnerabilities of JavaScript, Python and Ruby packages installed in 3,000 popular community Docker Hub images. In many cases, these installed packages missed important releases leading to potential vulnerabilities of the images. Our findings suggest that maintainers of Docker Hub community images should invest more effort in updating outdated packages contained in those images in order to significantly reduce the number of vulnerabilities. In addition to this, Python community images are generally much less outdated and much less subject to vulnerabilities than NodeJS and Ruby community images. Specifically for NodeJS community images, elimination of duplicate package releases could lead to a significant reduction in their image footprint.
Original languageEnglish
Article number102653
Number of pages19
JournalScience of Computer Programming
Publication statusPublished - 10 Apr 2021


  • software containerization
  • Docker
  • package management
  • software vulnerability
  • software ecosystems


Dive into the research topics of 'On the Usage of JavaScript, Python and Ruby Packages in Docker Hub images'. Together they form a unique fingerprint.

Cite this