Several young people set up a company called dotCloud in 2010. They were all from the US and familiar with IT. This is a company that mainly provides a PaaS-based cloud computing technology service. The dotCloud company later simplified and standardized its container technology. And it was renamed, Docker.
Docker didn't attract much attention at the beginning of its birth. And dotCloud, as a small startup, is also struggling under fierce competition. Do you know what Docker is?
Docker can provide a more lightweight and rapid environment, pass-level platform.
In the past, we often built the test environment to a certain cycle of project development. And the test environment is generally a Linux system or physical machine. There is probably no physical machine for you to play like this.
Then the problem arises. The deployment of the environment often involves the configuration of the running environment of the program. Simple deployment operations often only need to run script startup commands. But the reality is that a lot of time is often wasted on environment configuration.
The virtual machine itself has a variety of resource configurations and running irrelevant processes. And it is segmented from the physical machine. Then the virtual machine is configured in the environment until the project is running. This is bound to waste a large part of the resources.
Resources are money, or saving resources often brings not only financial satisfaction.
It needs to face an increasingly complex level of concurrency of Internet applications. And multi-cluster distributed systems are often not simply completed by a single virtual machine.
In a specific festival or time, different applications need different levels of load. According to the deployment environment, the size of resources is switched and upgraded. The network before different environments is opened, and the management between networks. Redundancy and complexity bring a lot of manpower and material resources.
So it can be said that Docker exists to solve the above problems.
Environment: With the help of images, the project can be deployed quickly. The important thing is that officials will provide many images. It can support the deployment environment of the project program. And a single pull can be run with.
Resources: Each running container is a basic minimum virtual machine environment. It can be simply understood as a stripped-down version of the virtual machine.
Scaling and Expansion: Upgrading and rollback of service resources can help it. And hundreds of service clusters can be quickly deployed with one click.
Network: Internal also has its own set of time-saving and labor-saving network management.
All the above are advantages, but in fact, there will be disadvantages. For example, many persistent operations can only be done by mounting storage. Otherwise, data in many previously started containers will be lost when stopped or restarted.