Basically it is a tool that packages up an application and all its dependencies in a “virtual Container” so that it can be run on any Linux system or distribution. Docker can “emulate” Linux within its container space, but the client to do so can be install on and linux, windows or Mac OSX compatible system you want.
For windows, since the Docker Engine itself uses “Linux-specific” Kernel features, it need to use a lightweight virtual machine to do its work. we then use the client to control that virtualized Docker engine to run and work with your containers.
There are a lot of reason to use Docker. Although you will generally hear about Docker user in conjunction with development and deployment of application.
- Configuration simplification
- Enhance Developer Productivity
- Server Consolidation and Management
- Application isolation
- Rapid Deployment
- Build Management
Docker offers you the ability to isolate your application, standardize your build and deployment process and to create standard, repeatable processes in your software and infrastructure.
What is a Container?
A virtual machine is an emulation of a specific computer system type. They operate based on the architecture and functions of that real computer and its implementation can involve specialized hardware, software or both.
It is completely isolated set of packages, libraries and applications that are completely from its surroundings.
Docker is a client-server application where both the daemon and client can run on the same system or you can connect a docker client with a remote Docker Daemon either way. Docker clients and daemon communicate via socket or through a restful API. The main components of docker are:
- Docker.io Registry
Already some companies have been working with containers before adopt docker.
- FreeBSD – jails
- Sun Solaris – Zones
It is a public registry or repository. It is maintained by Docker inc. Containing a large number of images upload in it that can download and use to build containers, even it doesn’t cost for sign-in.It is simple to create account signing up for an account.Once account created, we can work with The Hub directly in building and sharing our containers. It has officially supported images also we can search and find users created images.