0% found this document useful (0 votes)
18 views4 pages

Docker For Multi-Containers Web Application

The document discusses Docker and its advantages over virtual machines for running multi-container web applications. Docker allows containers to efficiently share system resources and be easily deployed across environments without changes. The paper proposes deploying a web application across multiple containers, with each container containing separate application dependencies.

Uploaded by

bryanestudos27
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)
18 views4 pages

Docker For Multi-Containers Web Application

The document discusses Docker and its advantages over virtual machines for running multi-container web applications. Docker allows containers to efficiently share system resources and be easily deployed across environments without changes. The paper proposes deploying a web application across multiple containers, with each container containing separate application dependencies.

Uploaded by

bryanestudos27
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/ 4

Proceedings of the Second International Conference on Innovative Mechanisms for Industry Applications (ICIMIA 2020)

IEEE Xplore Part Number: CFP20K58-ART; ISBN: 978-1-7281-4167-1

Docker for Multi-containers Web Application


Vivek Sharma1, Harsh Kumar Saxena2, Akhilesh Kumar Singh3
1
Assistant Professor,GLAU Mathura(UP) India
2
Student, GLAU Mathura(UP) India
3
Assistant Professor, GLAU Mathura(UP) India

{ viveksharma.cea1, harsh.saxena_ccv172, akhileshkr.singh3@gla.ac.in}

Abstract. Open Source Software are gaining cloud computing environment, in docker we do not
popularity over licensed software and Docker is one require to worry about the server management and
of them. Docker has many advantages when Programming and how and where the servers are
compared with virtual machines environment. This managed, we only require to work inside the
attracts developers for building micro services that
container and maintain and hosting the application
will run over containers. The demand in the market
for docker containers is rapidly increasing. Light which lie in our containers. Working on docker as
weight and speed are the factors due to which docker a developer is effective and simple because the
outperforms virtual machine environment. The time code and the application is build inside the
required for starting and running a docker container container can be easily transfer from any
is very less when compared to virtual machine. development and testing environment and also can
Different docker containers shares the resources be transfer to any production environment. These
provided by the operating system via kernel. On the containers can work in any of the environment
top of the operating system kernel, the entire because they have all the dependencies which are
container is executed in a confined way. This paper
considers the advantages of docker and proposed a
by default build and embedded in this.
docker deployed applications.
APPLICATION RUNS ON
Keywords: Container, docker, swarm, docker file, CONTAINERS
virtual machine.

I. INTRODUCTION APP
APP1 APP3
2
The container [1] technology is in the market for
many years but docker [2] is evolving as one of
best innovation in the container technology as it
DOCKER
has all the necessary capabilities that provide
runtime environment to applications. All the
docker application can run anywhere without any
change. Even in any cloud environment that is MASTER NODE OPERATING
capable of running cloud based application. SYSTEM
Docker is popular due to its high performance; the
application can be migrated from one container to
another and one host to another host without
damaging the behavior and performance of
IT INFRASTRUCTURE
application. The application can be easily deployed
and manage in every server. The linux containers
[3] are very famous in docker. But docker can do it Figure 1. Container Service Software Stack
very easily by providing and maintain the concept In docker, one cannot need any hypervisor, with
of Scalability. This scaling in the docker is done by this docker can use each and every resources in
the user based upon the needs and requirements of very efficient manner. We can execute, build and
users and the organization. Containers are the one run any amount of containers in a single host or a
cloud platform for developers and others. Same as machine this is the main comparison of docker
with the virtual machine environment. While using

978-1-7281-4167-1/20/$31.00 ©2020 IEEE 589


Authorized licensed use limited to: PUC MG. Downloaded on April 17,2024 at 10:43:22 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Second International Conference on Innovative Mechanisms for Industry Applications (ICIMIA 2020)
IEEE Xplore Part Number: CFP20K58-ART; ISBN: 978-1-7281-4167-1

docker, there is no wastage of resources and all, so Docker registries: All the docker images are
provide very high density and all. The linux kernel, stored and distributed in the docker registry. If an
a monolithic architecture, is used by docker and image containing multiple versions then tags are
docker is completely depends on it, and local host helpful for identifying the image and also its
used to provides linux kernel facility to docker. version. A docker repository is a way to organize
For the windows and Mac machines, docker the docker registries and also we can download the
provides a facility called complete virtualization. images in our local system using docker
Even for the some machines where docker is not repositories. There is another previous concept that
able to provide the facility of complete had been used by peoples is Virtualization [6]. It is
virtualization, one can use and adopt the not very much different from docker.
boot2docker technology for taking up the steps of Virtualization is considered as the base for cloud
complete virtualization. The checking of security computing infrastructure. Docker comes with the
issues must be done always and time to time when platform in which we do need to install very large
using the docker technology tools. ISO image or any file to install any operating
Related work section highlights the journey of system or starting any program, in docker we have
docker and then deploys a new innovative way by benefit that all the application, dependencies
which we can use docker technology to work with ,operating system, containers and images are very
web application. This paper aims to deploy web small in size . Suppose one want to install the
application on multiple containers where each Ubuntu operating system in virtual box
container contains separate dependencies to hold infrastructure, it needs approximately 2 GB of ISO
the application environment. file depends upon the version but, in case of
docker, docker image of Ubuntu is pulled from
docker hub i.e. approximately 0f 150MB of size.
II. RELATED WORK In the year 2014 Seo et al, uses the cloud
computing platform and deploy two servers with
Docker provides the various ways to automate the both of them having the same configurations. Out
application and the resources. An extra layer is of both the two server, first server uses docker and
added by docker when a container application is other uses openstack. But the concept that VMs are
virtualized and executed. In the year 2015, Russell not dependent on others machine and works
confirms that it is possible to test your code and independently, so in openstack we can easily
deploy it to the production working environment, configured, deploy and manage networks but when
Turnbull comes with the statement that anyone can comes to the concept of docker, docker do not
begin with a docker with very easy configurations require any guest machine and directly runs on the
and docker binary with the Linux kernel. There are host operating system. So docker is very quickly
four main component provided by docker and separate, transfer and gathers images and from
these are docker client, docker registries, docker here, the main motive of using docker cloud on
images and docker containers. comparing with virtual machine cloud comes into
Docker server [4] is combined with the docker the existence. This fact also clarifies the
client. The docker server requested by the docker performance [7] of docker, which also includes in
client and it responds to docker client. Both the the advantages of docker.
docker server [5] also called as docker daemon and Previously the virtualization technology was very
the docker client are stay on the same machine and famous, because cloud uses virtualization as
sometime docker client is connected with the infrastructure services. The hypervisors is used by
daemon which is presented in the other machine. the virtualization in which an extra layer has been
added and used between any host operating system
Docker Images: Image is a base for doing and the new operating system that we want to
anything in docker. It is considered as snapshot of install. It’s very popular example is using the
work which comprised in a file and contains all the virtual box. But docker uses the same concept but
system dependencies and parameter. in a very different manner, instead of adding extra
Docker Containers: In simple words, containers layer between host operating system and the
are the application that is ready and we can start operating system that we want to install called the
working on that. It is created using the docker guest operating system, we will introduce a new
image. The application is run in a separate isolated layer called the Docker Engine [8]. It is used
way. It contains everything that is needed to between host operating system and the application
deploy an application. that we want to runs and virtualized. And this only
becomes possible because the guest operating

978-1-7281-4167-1/20/$31.00 ©2020 IEEE 590


Authorized licensed use limited to: PUC MG. Downloaded on April 17,2024 at 10:43:22 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Second International Conference on Innovative Mechanisms for Industry Applications (ICIMIA 2020)
IEEE Xplore Part Number: CFP20K58-ART; ISBN: 978-1-7281-4167-1

system is not used by the docker but it is used by In the docker swarm methodology [12], the main
the virtualization, which helps in enhances the advantage is that, docker swarm is basically used
performance and speed of docker technology. In for providing high availability and scalability and
case of performance, in the year 2014, Seo also load balancing of application, services and
mentioned that the KVM is less effective than resources when it is required. Basically on using
docker and docker provides quite much high the docker swarm, a user needs at least two
performance in comparison of using the KVM and operating system running as both guest on a single
also mentioned that in terms of boot time and host or any other ways. This configuration is called
calculating speed , docker is much more efficient master slave configuration [13] or multi node
than using the KVM. cluster [14]. As many services can be built in
docker swarm cluster and all are connected the
services using a single network i. e. also known as
III. PROPOSED APPROACH default network or bridge network, overlay
network.
This paper sketches the work of a web application
i.e. deployed on multiple container environment
and then the work done by all the container is
merged. All the web frontend related work is
executed on one container and all the database
related work is done in other container. Also, the
feature of docker networking and compose [9] is
used to provide the network between containers
and orchestrate them. It can also be done by
making this architecture highly available using the
docker swarm cluster [10]. In docker swarm, load
balancer is used to balance the load between
different containers. Among them one container is
considered as master container while other are
considered as slave container. This web
application can be accessed using browser or can
be accessed through some other container.

Web application deployment on docker can be


done in many ways. It depends on the user
requirements. If the requirement is to deploy a
static website, one can directly use a linux image
or any other container image and deploy the static
website directly by using port binding. If the
scenario comes that deploy application when all
the database and the application frontend are on
the same container, the one can install an docker
image and make container of it and doing the port
binding for accessing it with the host operating
system web browser and then deploy any server
according to the user requirements and needs and
deploy the application on it. It can also be done Figure 2 Deployment of Multi- container
using Docker file [11] which will make it easier to applications using Docker
deploy the application. In the Docker file, all the
dependencies are written that includes the base Fig 2 defines the method and behavior of the
image and here user can directly write the containers and the application where a host
command to install the desired server to run the operating system like windows, linux, centos,
application and also apply the port binding in the RHEL, etc. then two separate containers were
same container. created which can also be considered as services in
terms of docker swarm clusters. In the first
container database is deployed while in second
container web application is deployed. After this

978-1-7281-4167-1/20/$31.00 ©2020 IEEE 591


Authorized licensed use limited to: PUC MG. Downloaded on April 17,2024 at 10:43:22 UTC from IEEE Xplore. Restrictions apply.
Proceedings of the Second International Conference on Innovative Mechanisms for Industry Applications (ICIMIA 2020)
IEEE Xplore Part Number: CFP20K58-ART; ISBN: 978-1-7281-4167-1

two containers are created and separate IP will be References


generated for both the containers. Services or
containers are exposed to any port. Web container 1. Russell, B. (2015). Passive Benchmarking with docker
is exposed to port 8080. Both of these containers LXC, with KVM and Openstack
are connected using a bridge network which is 2. Boettiger, C. (2015). An introduction to Docker for
reproducible research
having the port 80. And using this port 80 and the 3. Scheepers, M. J. (2014). Virtualization and
IP address, the application can be access by containerization of application infrastructure.
external networks like host system, guest system, 4. Joy, A. M. (2015). Performance comparison between
slave node, master node, etc. Linux containers and virtual machines.
5. Boettiger, C. (2015). An introduction to Docker for
There can be another methodology we can use to reproducible research. ACM SIGOPS
deploy these type of multi container application by Operating Systems Review, 49(1), 71-79.
which one can access it publicly throughout any 6. Bui, T. (2015). Analysis of docker security. arXiv preprint
network. By creating an instance on any of the arXiv:1501.02967.
7. Felter, W., Ferreira, A., Rajamony, R., & Rubio, J. (2014).
public cloud platform like Amazon Web Services, An updated performance comparison of virtual machines
Google Cloud Platform, and Microsoft Azure, and linux containers. technology, 28, 32.
etc.[15,16] then install docker in it and using 8. Turnbull, J. (2014). The Docker Book: Containerization is
docker compose or the docker swarm facility and the new virtualization
9. RightScale (2008) Define Cloud Computing. RightScale
follow the same steps of deploy multi container Blog, 26 May 2008.
application using docker swarm or docker http://blog.rightscale.com/2008/05/26/define-cloud-
compose mentioned above. Other way is that, most computing/. Accessed: 9 Jun 2009.
of the cloud providers provide the mechanisms and 10. Howe, B. 2012. Virtual appliances, cloud computing, and
reproducible research. Computing in Science &
services of orchestrations for management of Engineering. 14, 4 (Jul. 2012), 36–41.
deployment of applications. 11. Mohammad Ahmadi, “An Introduction to Docker and
Analysis of its Performance”, IJCSNS International
IV. CONCLUSION Journal of Computer Science and Network Security,
VOL.17 No.3, March 2017.
12. David Bernstein, “Containers and Cloud: From LXC to
Docker provides the capabilities to automate the Docker to Kubernetes”,IEEE Cloud Computing , Year:
containerized application. It provides simple and 2014, Volume: 1, Issue: 3
13. Sachchidanand Singh, Nirmala Singh, Containers &
effective workflow and an additional layer has Docker: Emerging Roles & Future of Cloud Technology ,
been added in the host operating system. 2016 2nd International Conference on Applied and
Deploying web application on docker containers Theoretical Computing and Communication Technology
are quite easy, and provides inter operability and (iCATccT), Year:2016, 2016 IEEE.
14. Dmitry Medvinsky, Luke Hutscal, Adrien Magnus”,
portability as well. It is very cost effective and Managing Containers with Docker Shipyard”,
time saving solution in the IT world. Using docker Russia,2015.
networking, docker swarm and docker compose; it 15. E. Bacis et al., “Docker Policy Modules: Mandatory
is very simple to deploy a multi-tier web Access Control for Docker Container”, Proceeding of
2015 IEEE Conference Communications and Network
application on docker. There are less number of Security (CNS), 2015.
resources consumed by docker as compared to the 16. A.K.Singh, P.Singh, An Approach for Web based GIS
virtual machines, so they have better speed and Route Finder System, International Journal of Advanced
performance. Deploying a multi container web Research in Computer Science and Software
Engineering (IJARCSSE).
application on docker is very effective and easy
instead of using any other cloud computing
platform or infrastructure. Migration of
containerized service is quite easy as compared to
migration of virtual machine. In case of docker,
entire code of the web application can be put into a
single image and pushed to the docker hub for
easily download that can be configured very easily,
A container gives a more prominent effectiveness,
both in dealing with the managing application
creating application instances, and in asset
utilization. Basic adjustment and easy deployment
of application is one of the most important
principal of container services like Docker and
which is completely in the DevOps soul.

978-1-7281-4167-1/20/$31.00 ©2020 IEEE 592


Authorized licensed use limited to: PUC MG. Downloaded on April 17,2024 at 10:43:22 UTC from IEEE Xplore. Restrictions apply.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy