The advantages of docker compared to virtual machines: 1. It takes up little disk space; 2. It starts up quickly, in seconds; 3. It has good concurrency, and one host can start thousands or hundreds of containers; 4 , High resource utilization; 5. Easier to migrate; 6. Easier to maintain; 7. Easier to expand.
The operating environment of this tutorial: linux5.9.8 system, docker-1.13.1 version, Dell G3 computer.
Virtual machine
Virtual machine (Virtual Machine) refers to a complete hardware system function simulated by software and running in a completely isolated environment A complete computer system in.
The difference between traditional virtual machines (Vmware, VirtualBox, etc.) is that the virtual system will not reduce the performance of the computer. Starting the virtual system does not need to be as time-consuming as starting the windows system, and running programs is more convenient and faster;
The virtual system can only simulate the same environment as the existing operating system, while the virtual machine can simulate other types of operating systems; and the virtual machine needs to simulate the underlying hardware instructions, so the application running speed is faster than that of the virtual machine. The system is much slower.
Container (Docker)
Docker allows developers to package their applications and dependencies into a portable container and then publish them Virtualization can be achieved on any popular Linux machine. Docker has changed the way of virtualization, allowing developers to directly put their results into Docker for management. Convenience and speed are already the biggest advantages of Docker. Tasks that used to take days or even weeks can be completed in just a few seconds under the processing of Docker containers.
With the advent of the cloud computing era, developers do not have to configure expensive hardware in order to pursue effects. Docker has changed the mindset that high performance must be high price. The combination of Docker and the cloud allows cloud space to be more fully utilized. It not only solves the problem of hardware management, but also changes the way of virtualization.
Advantages compared to VM
##Container technology | Virtual machine technology | |
Small, even dozens of KB (in the case of the mirror layer) | Very large, up to GB | |
Fast, a few seconds | Slow, a few minutes | |
Run directly on the host's kernel, different containers share the same Linux kernel | Run on Hypervisior | |
A host can start thousands or hundreds of containers | Up to dozens of virtual machines | |
Close to the local process of the host | Lower than the host | |
High | Low |
1. Fast startup speed
Starting a virtual machine requires starting the operating system of the virtual machine first, and then starting the application. This process is very slow;And starting Docker is quite To start a process on the host operating system.2. Occupies less resources (occupies disk space)
The virtual machine is a complete operating system and requires a large amount of disk, memory and CPU resources. The machine can only open dozens of virtual machines. Docker is just a process. It only needs to package applications and related components. It takes up very few resources during runtime. One machine can open thousands of Dockers.3. Easier migration
Provides a consistent operating environment. Packaged applications can be migrated to different machines without worrying about environment changes causing inability to run.4. Easier maintenance
Using layering technology and mirroring makes it easier for applications to reuse repeated parts. The higher the degree of reuse, the easier the maintenance work will be.5. Easier expansion
You can use the basic image to further expand to get new images, and the official and open source communities provide a large number of images. By extending these images, you can It's very easy to get the image we want. Recommended learning: "docker video tutorial"
The above is the detailed content of What are the advantages of docker over virtual machines?. For more information, please follow other related articles on the PHP Chinese website!