2. What is Docker ?
Docker is a software that helps to build, ship and run any application in a container. This helps the developers to
package the application with all of its parts needed, such as libraries and other dependencies and ship them as single
package. These packages are shipped as Images. Containers are the instances of these images.
With docker we create images with selenium libraries and other dependencies in it and use them in a container as
test execution environment (Can be a selenium grid :) ). Running selenium scripts on stand alone browsers or on
selenium grid inside the container is simple and effective.
In a way, Docker is a bit like a virtual machine. But unlike a virtual machine, rather than creating a whole virtual
operating system, Docker allows applications to use the same Linux kernel as the system that they're running on and
only requires applications be shipped with things not already running on the host computer. This gives a significant
performance boost and reduces the size of the application.
Why Docker ?
And what makes it different ?
3. VM Vs Docker
Virtual Machine Container
Needs an Hypervisor
and a full OS inside
Talks to the host kernel
Bigger footprint(RAM
and Storage space)
Smaller footprint(No RAM
and different storage)
VMs consume storage
space for each instance
~1.2GB
~2.5MB
VM startup time is in
minutes
Startup time in seconds
4. Selenium - Docker
❏ System memory is maximum
utilized.
❏ Test execution interrupts the
development.
❏ Not efficient for a selenium grid.
❏ Investments on the VMs are high.
❏ Setting up selenium grid needs
more investments and effort.
❏ High maintenance required.
❏ Build an image in a container is
simple.
❏ Grid setup with hub and nodes
inside containers are very
effective.
❏ Easy to scale up the selenium
grid.
❏ Cost efficient.