Docker is an open source project that was born in early 2013 and was originally an amateur project within the DotCloud company. It is based on Google's launch of the Go language implementation. The project later joined the Linux Foundation and complied with the Apache 2.0 protocol, and the project code was maintained on GitHub.
The goal of Docker is to implement a lightweight operating system virtualization solution. Docker is based on technologies such as Linux containers (LXC). On the basis of LXC, Docker has been further encapsulated, so that users do not need to care about the management of the container, making the operation easier. User operations Docker containers are as simple as operating a lightweight, lightweight virtual machine. The difference between Docker and virtual machine is as follows:
In a virtual machine, there is a "Hypervisor" layer, which is an intermediate software layer running between a physical server and an operating system that allows multiple operating systems and applications to share a set of underlying physical hardware, and therefore can also be considered a "meta" operating system in a virtual environment.
Personal understanding: In the virtual machine, if you want to do two application isolation, two applications installed in the same virtual machine is not compliant, so the two applications must be installed in two different virtual machines, so that the need to virtual two virtual machines, each virtual machine occupies a certain amount of physical hardware resources, The resources of the system cannot be shared, so the overhead is large and the portability is not good; unlike Docker, Docker is divided into several containers, each of which runs an application that shares the system kernel and requires only one Docker engine. The Docker container contains the environment and dependencies that the application needs to run, and the container is well-ported.
Docker (i): what is Docker