What is Docker?
Its a tool and platform which managing the container. Docker is a software platform that allows you to build, test, and deploy applications quickly. Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers.
What is Container?
Its Logical entity. It is a running instance of the Docker Image. Docker Image is a template that contains the application, and all the dependencies required to run that application on Docker
A Docker container image is a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.
Benefit of Docker?
Docker is essentially a toolkit that enables developers to build, deploy, run, update, and stop containers using simple commands and work-saving automation through a single API.
With Docker, developers can focus on writing code without worrying about the system on which their code will run. Applications become truly portable. This flexibility can increase resource use per server and may reduce the number of systems needed because of its lower overhead, which in turn reduces cost.
Docker uses a client-server architecture. The Docker client talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface. Another Docker client is Docker Compose, that lets you work with applications consisting of a set of containers.
There are different stages when we create a Docker container which is known as Docker Container Lifecycle. Some of the states are:
- Created: A container that has been created but not started
- Running: A container running with all its processes
- Paused: A container whose processes have been paused
- Stopped: A container whose processes have been stopped
- Deleted: A container in a dead state
How Docker Works
Docker is written in the Go programming language and takes advantage of several features of the Linux kernel to deliver its functionality. Docker uses a technology called namespaces to provide the isolated workspace called the container. When you run a container, Docker creates a set of namespaces for that container.