Docker For Multi-Containers Web Application
Docker For Multi-Containers Web Application
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
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
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.