Docker Hub: Platform-as-a service for the distribution and management of containers Docker.
What can Docker do?
Docker packs each application, together with the associated environment and dependencies in a separate container. This container can be opened and its contents run by the Linux system. It is noteworthy that even if you do not have Linux, you can run it in a "virtual machine," then Docker opportunities become available to you.
The main advantages of this program: lightness and speed.
The user has an opportunity to work with huge loads without the machine freezing. All containers are very light, you can run multiple containers. Besides, all that previously had to be stored on different servers, using Docker it can all be stored in containers that open in a split second. Meanwhile, scaling can only improve.
Developers can build applications in "Docker" containers quickly and easily.
There is the possibility to do it "from scratch" or use ready-made images, to develop a new application based on them. Later, when the application begins to demand more memory, it is easy to arrange, simply increasing the amount of memory allocated for this container, or, for example, play a similar environment according to the Docker file on another machine and associate containers. Thanks to containers the local machine (office computer) remains secure even under heavy braking. Everything you need to operate the software is in the container, so it doesn't overload the computer. There is an inverse relationship: the limited resources of a particular computer do not affect the launch of a specific program. There is no need to install software required for this program, because it is all in the same containers.
Therefore, using the "Docker", you can create images, which are applications that create images of containers for running applications, to distribute images through Docker Hub or another registry images.
Of course, there are other programs (OpenVZ, Linux policies, Jail), where you can work with containers. However, "Docker" makes it the easiest. All because it is absolutely independent. It has everything developers need: the base engine for the containers, controls, applications, easy deployment system, cluster support, etc. As with other similar programs you need to use additional third-party resources to piece together and finally assemble the finished product. Obviously, it takes much more time and energy.