0% found this document useful (0 votes)
12 views

Docker应用案例分析

This paper surveys Docker containers, highlighting their role in application development, shipping, and deployment. It discusses the advantages of Docker over traditional virtualization, including rapid deployment, resource efficiency, and ease of management, while also addressing challenges such as security and performance. Key use cases for Docker are outlined, demonstrating its benefits in development productivity, disaster recovery, and multi-tenancy.

Uploaded by

Carry Su
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Docker应用案例分析

This paper surveys Docker containers, highlighting their role in application development, shipping, and deployment. It discusses the advantages of Docker over traditional virtualization, including rapid deployment, resource efficiency, and ease of management, while also addressing challenges such as security and performance. Key use cases for Docker are outlined, demonstrating its benefits in development productivity, disaster recovery, and multi-tenancy.

Uploaded by

Carry Su
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056

Volume: 07 Issue: 07 | July 2020 www.irjet.net p-ISSN: 2395-0072

A Survey on Docker Container and its Use Cases


Bellishree P1, Dr. Deepamala. N 2
1 Department of CSE, RVCE, Bengaluru
2Associate Professor, Department of CSE, RVCE, Bengaluru
---------------------------------------------------------------------***--------------------------------------------------------------------
Abstract - Docker is an open platform used for system added to the infrastructure, resources must be
development, shipping, and running applications. It assigned. Further the reason behind virtualization being
facilitates in delivering software quickly a expensive is that even though there is no physical
hardware there is virtual hardware that takes up
s it separates applications from the infrastructure. Docker resources, the guest operating system space, and the RAM
methodologies promote quick shipping, testing, and allocation required for this operating system [6].
deploying code anywhere, which reduces the delay between Advancing towards modern-day technology known as
code development and its deployment in production. It has a Containerization which is characterized as a type of
wider scope of benefits for both Developers and System operating system (OS) virtualization, employing which
Administrators by allowing Developers to write code without applications are run in isolated user spaces, using the same
having to worry about the system, that it will ultimately be shared OS. Dockers being a containerization platform
running on. Also, it potentially reduces the number of combines all the application and its dependencies in the
systems and offers flexibility for the operations staff. This form of Docker Container to ensure that the application
paper discusses the basics of Docker containers as well as works seamlessly in any environment. Docker provides far
related work that is being carried out in this area. Further, denser server consolidation than one can get with VMs,
the paper includes key use cases along with the benefits and with the capability to share extra usable memory across
challenges involved in its usage. the instances.[9] The advantages are that it facilitates
Rapid Deployment; It is fast, lightweight as it doesn’t boot a
Keywords - Docker; Container; Virtual Machine; Docker separate OS per VM making it fast to start/stop, it requires
Image; Docker use case less disk space due to sharing of common layers across
images, and due to the image layering incremental
I. INTRODUCTION deployments of new app versions are smaller and
therefore faster than VMs, it shares a kernel across
Years ago, before Docker containers came into existence, containers and therefore uses less memory. It is portable
big companies like Walmart, Target, Chase Bank that relied as Docker files can be used to instantaneously configure
on technology traditionally used servers and added many any machine. Dockers coming with no hypervisor come as
of them which lead to over-allocation, this was to handle a greater advantage as it does not need a separate kernel
the increasing number of requests from the users. The and it still utilizes the same resources as the host OS and it
downside of over-allocating severs was that it was exploits namespaces and control groups to tightly use
extremely expensive and failing to scale well the servers these resources more efficiently.
would crash and burn, and the business would be dead.
After a few years, the company named VMware came up II. LITERATURE SURVEY
with the concept called as Virtualization that allowed to
run multiple operating systems on the same host which The paper titled “OpenStack and Docker: building a
essentially meant running any application in isolation on high-performance IaaS platform for interactive social
the same server and same infrastructure, so it seemed like media applications” [1] describes about the Nova-Docker
running an entirely separate computer on the same plugin which enables the fast and efficient provisioning of
computer which was a game-changer for the many computing resources which can run as a Hypervisor that
industries. helps to manage the growth of application users. This is
Although the concept of Virtualization came with built using an OpenStack IaaS which enables to control
privileges, it was very expensive. To begin with, there are data centres for cloud computing. OpenStack standard
multiple kernels for each guest operating system that will architecture contains three important roles: Nova, that
run on the infrastructure, besides, for each guest operating

© 2020, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2716
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 07 | July 2020 www.irjet.net p-ISSN: 2395-0072

manages the computation, storage resources are managed between deployed and designed containers. This paper
by Cinder. The entire networking resources are managed provides a model driven approach to manage not just to
by Neutron across multiple data centre. NUBOMEDIA is design the containers architecture but also represents the
another approach which enables (PaaS) interactive social deployed containers in target systems. The motivation for
media through cloud. The major technologies adopted are this model-driven approach is that present docker
Kurento Media Server (KMS) which provides interactive containers lacks verification and resource management.
communications through WebRTC media server. The overview of the architecture described in this paper
OpenBaton which manages the lifecycle of media server tells us about the three components Docker Model,
capabilities using Docker containers. In order to host Connector and Execution Environment. The abstraction of
applications which consumes media server capabilities, the containers is given by Docker Model. Connector
OpenShift Origin is enabled. Developers and provides the link between Docker model and Execution
Administrators are interested more in Docker container environment, which provides tools to operate Docker
than Kernel-based Virtual machine mainly for its Fast Boot model efficiently by generating certain artifacts with
time, Direct Access to containers, it can be run on any regards to changes in Execution environment. This paper
hardware that supports Linux based OS. Docker containers has presented a model-driven approach for verification
are lightweight, minimizing the bandwidth needed for and synchronization and its future work will investigate
deployment using required resources [8]. atomic changes performed in managed containers
architecture.
The paper titled “Evaluation of Docker as Edge
Computing Platform” [2] describes about how to The paper titled “Docker container-based analytics at
overcome problems such as High latency, network IoT edge” [4] deals with internet connecting devices
bottleneck and network congestion. We can achieve this which use sensors and eventually generate high load of
from moving centralized to decentralized paradigm, Edge data. This becomes a challenging task to compute and
computing will be able to reduce application response time process the data. In a workaround, this paper mainly
for better user experience. Edge computing is enabled with describes about simplifying deployment of application at
Docker, a platform of container-based technology that has IoT end using Docker- lightweight virtualization
more advantages over VM based Edge computing. This mechanism. The research mainly depicts the use case for
paper mainly evaluates the fundamental requirement for the video surveillance feed established in UK in order to
EC that are 1) Deployment and Termination which mainly analyse and detect the incidents that are about to occur
describes the platform that provides an easy way to using Deep learning. The implementation for the above use
manage, install and configure services to deploy the low- case, mainly involves components like Raspberry Pi 3
end devices. 2) Resource and Service Management that which is used as a gateway and obtains the video feed from
allows users to use the services even when the resources the CCTV. Docker Swarm is used to orchestrate the frames
are out of limit. 3) Fault Tolerance which relies on the High obtained in the surveillance and multiple deep learning
availability and reliability to the user. 4) Caching allows the frameworks are used to analyse the feed and MQTT client
user to experience better performance where Docker is used to notify the cloud-based servers about the
images can cache at the Edge. One such that enables occurrence of thread in the frames. This implementation
Docker concept which was applied on Hadoop Streaming also sets a benchmark, in order to achieve efficient
which reduces the setup time and configuration errors. processing high resolution frames. This study shows Deep
Overall, there are areas of improvement yet, it provides learning can be incorporated with Docker containers on
elasticity and good performance. single based computers which gives negligible overhead
CPU processing when compared to Bare metal deployment.
The paper titled “Model-Driven Management of Docker
Containers” [3] focuses on management of docker The paper titled “Workload-aware Resource
containers, mainly where users finds low-level system Management for Energy Efficient Heterogeneous
issues and it describes how modelling Docker containers Docker Containers” [5] propose Workload aware Energy
helps to achieve sustainable deployment and management Efficient Container (WEEC) brokering system to align with
of Docker containers. Indeed, Docker system has more energy consumed by running container applications in
advantages than cloud-computing like Azure, Amazon; the multiple cloud servers. The proposed system shows how
Docker containers attains drawbacks in synchronizing efficiently energy consumption can be reduced. Basically,

© 2020, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2717
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 07 | July 2020 www.irjet.net p-ISSN: 2395-0072

the system classifies input requests based on the C. Docker for Development Productivity - Docker
containers utilization pattern of the resources into multiple facilitates achieving the 2 goals in a developer
server racks. The WEEC brokering system mainly environment - First is to keep a developer close to
comprises of 4 sub-components 1) Power Consumption production, this is made achievable by the Docker as it
Per Application (ppA) Table Manager which is responsible has no or low overhead when it comes to working
for quantifying the initial energy efficiency consumed by remotely. The second is to have a development
the heterogenous server in containers. 2) Exponential environment active for interactive use; Docker
Weighted Moving Average (EWMA) predicts the workload facilitates this by making the application code
for the future demands of input requests. 3) Dynamic Right accessible to the container from the container's host
Sizing (DRS) helps to manage the number of active servers. OS by its shared volumes. This fetches benefits like -
4) Request Allocation Manager manages allocation of input enabling the developer to modify the source code from
request to each specified server in Docker containers. The the platform of his choice and also observe the same.
study sets a benchmark by measuring power and
performance of several heterogeneity Docker containers D. Multi-Tenancy - Docker helps to prevent major
using benchmark applications with power measuring application rewrites and hence is used in multi-tenant
devices called Yocto-Watt. applications. Multi-tenant applications' codebases are
considerably more complex, rigid, and obstinate to
III. KEY DOCKER USECASES [10] manage. Redesigning an application consumes a
surplus of time and money. Docker usage eases the
A. Simplifying Configuration - This is a basic use case; creation of confined environments to running multiple
the Docker configurations can be used several times in instances of applications for each tenant and makes
a diversity of environments. VMs hold a plus when it the process economical. The easy-to use API provided
comes to running any platform with its configurations, by the Docker’s enables to spin up containers
the same is included by the Dockers, but without any programmatically.
Virtual Machine overhead, and allows to put into the
code your configurations and environment and deploy E. Debugging Capabilities - Docker provides various
the code. The infrastructure requirements are tools that work skilfully with containers concept. To
disassociated from the application environment. When name a few of its provisions, one being the ability to
it comes to the real-life use case, it enables in checkpoint containers and its versions, to differentiate
accelerating the project setup in the organizations by two containers, hence readily fixing applications
allowing them to dive into development directly by whenever necessary.
skipping the repetitive job of environment settings and
configuration procedures. F. Better disaster recovery - A Docker image, alias
snapshot, can be backed up at a certain point in time
B. Code Pipeline Management - The prior use case and retrieved to overcome any emergency issues. With
majorly influences the code pipeline management. By Docker, a file can be replicated to new, different
the time the code that is written in a developer hardware. Docker image allows switching between
environment passes through various stages(each of the two different versions of the same software.
different platforms/environments) and approaches
the production stage, a few minor differences could be G. Improvement in the adoption of DevOps - DevOps
observed; However, Dockers provide a consistent community has developed bases from Docker, to
environment along all the stages from development to standardize contained deployment. CI/CD determines
production, facilitating an easy development and the correlation linking the Docker and DevOps. Docker
deployment pipeline. Also, the stable nature of the holds consistency among the testing environment and
Docker image and the ease with which it can be started the production environment. Docker systematizes the
can add up in achieving the aforementioned pipeline configuration interface and simplifies the machine
management. setup. Docker can be employed to introduce
improvements in the DevOps of the company.

© 2020, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2718
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 07 | July 2020 www.irjet.net p-ISSN: 2395-0072

H. Rapid Deployment - Before Virtual Machines, the ii. Performance-critical Applications: Docker holds
creation of new hardware resources took a days- an upper hand in comparison to VMs when it
together worth of task, which was later reduced to comes to the performance because the Containers
only a few minutes by Virtualization. On the other share host kernel and emulate a full Operating
hand, Docker further reduces it to seconds by system. In order to obtain the best possible
supporting just the creation of a container for the performance out of the server, dockers can be
process, without the need of booting up an OS. It avoided because the processes running on a
facilitates creating and destroying resources having to native OS will be faster than a process within a
not despair about the cost of bringing it up again. The container.
reduction in the cost of bringing up a new instance iii. Upgrade hassles: Docker as an emerging
permits a more dynamic way of resource allocation. technology, is still under development due to
which frequent updates are required in order to
IV. DOCKER USAGE experience new features.
iv. Security is a critical factor: When it comes to
more complicated applications, docker
A. WHEN TO USE?
containerization’s approach involves several
vulnerabilities like Kernel level threats,
i. Discovering the latest technologies: Docker
inconsistent update, and patching of docker
provides a disposable and isolated environment in
containers, un-verified docker images, unsecured
order to begin with a new tool even without
communication, and unrestricted network traffic.
having to spend much time on installations and
v. Multiple Operating System: As the docker
configurations. Several projects maintain docker
containers share the operating system of host
images with the applications previously installed
computer, it would need to use VM’s to test or run
and configured.
the same applications on the different OS.
ii. Basic use cases: Docker Hub is a registry service
on the cloud which sanctions to download Docker
images built by other communities, this service V. CASE STUDY
provides a good solution for pulling images for
either Basic or Standard application. Integrating Containers into Workflows: A Case Study
iii. App Isolation: Managing each application Using Makeflow, Work Queue, and Docker [11] -
component by keeping it in a separate container Distributed Systems such as Clusters, Clouds, and grids are
will discard dependencies when running various integrated to execute large scientific applications that
applications on a distinct server. explain the topic of Workflow systems as a widely used
iv. Developer Teams: Docker provides a close match abstraction. Although, workflow has a hindrance when it
between the local development environment and comes to multiple environments and differences in
production environment for developers working Operating systems, data, and certain resources. To solve
in a different setup. this problem, the case study discusses how Lightweight
containers come into existence by providing a well-defined
B. WHEN NOT TO USE? operating system by making use of Make Flow and Work
Queue. Specifically, this case discusses the integration of
Docker cannot be the best solution always; few cases are as Docker with Make Flow and Work Queue using 4
described below [10] - strategies; Base Architecture – The basic architecture
places a container in a directory and use as a placeholder,
i. Complicated Applications: Unlike basic this ensures no overhead on the execution of the
applications, using pre-obtained docker file or application. Wrapper-Script – This explains about the
pulling images from Docker Hub will be in- script which can be framed that helps to contain local
sufficient for complicated applications as the task docker, pull the desired image, and assign each task to a
of editing, building, and managing the requests container. In this way, each task will be isolated from one
and responses among multiple containers on another. Worker-in-container- This provides a secondary
various servers is very time-consuming. approach by placing an entire workflow system into a

© 2020, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2719
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 07 Issue: 07 | July 2020 www.irjet.net p-ISSN: 2395-0072

container, this allows the prevention of start-up and Docker containers with IoT and resource management for
shutdown costs of each task. Shared-Container- In this energy efficiency. This paper also gives a summary of the
approach, only one container is created for each evolution of the Docker container, extending to its use
environment, this allows the concept of the task run on the cases and area of usage.
same container instead of deleting the container. This
avoids the overhead of multiple container creation. With VII. REFERENCES
the creation of container technology with the Workflow
system significantly, lower cost can be accomplished [1] Alin Calinciuc, Cristian Constantin Spoiala, Corneliu
without any impact on Workflow on distributed Octavian Turcu, Constantin Filote, “OpenStack and Docker:
environments. building a high-performance IaaS platform for interactive
social media applications”, May 19-21, 2016.
IBM Control Desk existing solution: A containerization [2] Bukhary Ikhwan Ismail, Ehsan Mostajeran Goortani,
case study with Docker [13] - Mohd Bazli Ab Karim, Wong Ming Tat, Sharipah Setapa,
The IBM Control Desk case study has pertinence to the Jing, Yuan Luke, Ong Hong Hoe, “Evaluation of Docker as
topic discussed in this paper. The IBM Control Desk Edge Computing Platform”., 2015 Advanced Computing
software provides IT service management that eases users' Lab
support and infrastructures. This case study purely defines [3] Fawaz Paraiso, St´ephanie Challita, Yahya Al-Dhuraibi,
building the Control Desk entirely on Cloud using Docker Philippe Merle, “Model-DrivenManagement of Docker
containers and to provides SaaS as an edge platform. This Containers”., University of Lille & Inria Lille - Nord Europe
mainly follows protocols in order to build and deploy. 2016.
Firstly, the Control Desk is built on an administrative [4] Pankaj Mendki, “Docker container-based analytics at
workstation mode and deployed on the DB2 node. A IoT edge”., Senior Principal Engineer, Member of R&D
docker image is built for the control desk under the JMS 2018.
server. A network of direct communication is created [5] Dong-Ki Kang, Gyu-Beom Choi, Seong-Hwan Kim, II-Sun
among the containers. For each Docker image, one Hwang and Chan-Hyun Youn, “Workload-aware Resource
contained is processed. An IBM HTTP server is configured Management for Energy Efficient Heterogeneous Docker
to route traffic channels. By implementing this, IBM Containers”., School of Electrical Engineering.
achieved no impacts at the application level and grew [6] Containers vs. VMs: What's the difference?
towards a cloud-native architecture. http://searchservervirtualization.techtarget.com/answer/
Containers-vs-VMs-Whats-the-difference.
Spotify: A Case Study with Containerization - Spotify is a [7] Understanding the architecture
digital music service that uses microservice architecture https://docs.docker.com/engine/understanding-docker/.
which delivers a whole host of features like music [8] M. Raho, A. Spyridakis, M. Paolino, D. Raho, “KVM, Xen
streaming, logging in through social media credentials and Docker: a performance analysis for ARM based NFV
globally. This application keeps 60 million subscribers and Cloud computing,” IEEE 3rd Workshop on Advances in
happy with their ultimate music streaming capability. Information, Electronic and Electrical Engineering (AIEEE),
Spotify enables microservices through containerization of pp. 1–8, November 2015.
a bundle of requests so that a single request will provide all [9] R. R. Yadav, E. T. G. Sousa, and G. R. A. Callou, Docker
the information through its interface, which helps the user Containers Versus Virtual Machine-Based Virtualization:
not to make any repeated requests to match specific Proceedings of IEMIS 2018.
information. Spotify has been using this technology since [10] Deploy Docker Open Source, or Enterprise for High
2014 and has been a key pillar for strategical scalability. Performing Systems, https://www.flux7.com/tech/
container-technology/docker/
VI. CONCLUSION [11] Chao Zheng and Douglas, Integrating Containers into
Workflows: A Case Study Using Makeflow, Work Queue,
This paper gives a review of the use cases of Docker and Docker.
containers which are surveyed on a wide range of methods [12] Control Desk existing solution: A containerization case
like- Docker as Edge Computing, building IaaS platform for study with Docker https://developer.ibm.com/
technologies/ containers/articles/containerization-
interactive social media applications, and integrating
docker-case-study.

© 2020, IRJET | Impact Factor value: 7.529 | ISO 9001:2008 Certified Journal | Page 2720

You might also like