Show simple item record

dc.contributor.authorIbrahim, Md Hasanen
dc.date.accessioned2019-10-01T18:41:31Z
dc.date.available2019-10-01T18:41:31Z
dc.identifier.urihttp://hdl.handle.net/1974/26665
dc.description.abstractDocker is a tool used to encapsulate a software package with all of its dependencies and configurations into an isolated environment. Nowadays, developers compose multiple Docker images to form multi-component applications. While prior studies of Docker examine the quality and evolution of a single Docker image, no study has explored the use of Docker in a multi-component setting. In this thesis, we first identify how multi-component applications are composed and maintained using Docker Compose, then we examine Docker images that are hosted on DockerHub, a commonly used online registry for Docker images. From our first study of 4,103 open-source Github projects that use Docker Compose, we observe that 26.8% of the projects needlessly use Docker Compose to compose a single component application, multi-component applications stick to the basic options of Docker Compose and ignore advanced ones such as security and monitoring related options, and multi-component applications rarely upgrade their Docker Compose version. We also observe that 77% of the studied applications use images from an online registry and 95.2% of these registry images are hosted on DockerHub. Hence, we investigate the available Docker images on DockerHub. We studied 505 DockerHub images for five popular software systems (101 images for each system). We observed that DockerHub community images differ from their official image, while also differing from each other in terms of their installed libraries. We also observe that there exist community images that are more resource-efficient and which contain fewer security vulnerabilities compared to their official image. However, users might not find such images since they are not well-documented. Our thesis suggests the need for tools and methodologies to help multi-component applications take full advantage of the capabilities and resources that are offered by Docker Compose and DockerHub.en
dc.language.isoengen
dc.relation.ispartofseriesCanadian thesesen
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 United Statesen
dc.rightsQueen's University's Thesis/Dissertation Non-Exclusive License for Deposit to QSpace and Library and Archives Canadaen
dc.rightsProQuest PhD and Master's Theses International Dissemination Agreementen
dc.rightsIntellectual Property Guidelines at Queen's Universityen
dc.rightsCopying and Preserving Your Thesisen
dc.rightsThis publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.en
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/us/
dc.subjectDockeren
dc.subjectDocker Composeen
dc.subjectMulti-component applicationsen
dc.subjectContainerizationen
dc.subjectDockerHuben
dc.subjectDocker imageen
dc.titleA Study of the Use of Docker Compose and DockerHub Imagesen
dc.typethesisen
dc.description.degreeM.Sc.en
dc.contributor.supervisorHassan, Ahmeden
dc.contributor.departmentComputingen
dc.degree.grantorQueen's University at Kingstonen


Files in this item

Thumbnail
Thumbnail

This item appears in the following Collection(s)

Show simple item record

Attribution-NonCommercial-NoDerivs 3.0 United States
Except where otherwise noted, this item's license is described as Attribution-NonCommercial-NoDerivs 3.0 United States