Docker
Docker — is a tool designed to help you create, deploy and run containerized applications. In simple words, it is a software that allows you to "build" an application with all its environment and dependencies into a container which is installed on the selected operating system (Docker started supporting the operating system in 2015, it can be installed on MacOS and the selected Linux distribution).
Container is a file containing the application and all the necessary dependencies, as well as the instructions required to run the application. The analogue of the word "Container" is the IMG/image, it appears as a result of the "build" operation.
Launching the image
When the image is launched, the containerization platform (Docker) unpacks the container image with the necessary files and metadata, then initializes the network and filesystem, and according to the instructions in the trim, launches the application. The end result is a normal operating system process. An isolated environment is achieved by using the capacity of the operating system kernel and a few libraries.
The difference between container and the virtual server, is that the container does not have its own operating system.
An example of a build operation
When you create an archive, you put in it different documents, files and folders. The docker does the same, it collects the necessary data and puts it all into an image that can be used in the future to install on another system.
The image can be created from another container, thus creating a layered structure of images where each new layer contains only changes relative to the previous ones.
What is Docker for
By building an application in a container with all the libraries it needs, you do not have to worry about the correctness of the container working on another device/server. After all, if you checked the application before the build and it worked correctly, then it will run as well by installing the container on another server.