Docker is an advanced container engine based on LXC; LXC is the abbreviation of "Linux Container" and is a kernel virtualization technology that can provide lightweight virtualization to isolate processes and resources without the need for Provides instruction interpretation mechanisms and other complexities of full virtualization.
The operating environment of this tutorial: linux7.3 system, docker version 19.03, Dell G3 computer.
Docker is an advanced container engine based on LXC open sourced by PaaS provider dotCloud. The source code is hosted on Github, based on go language And comply with the Apache2.0 protocol open source.
Docker is an open source application container engine that allows developers to package their applications and dependency packages into a portable image, and then publish it to any popular Linux or Windows operating system machine, as well as Virtualization can be achieved. Containers completely use the sandbox mechanism and will not have any interfaces with each other
LXC
Linux Container container is a kind of kernel virtualization Technology that provides lightweight virtualization to isolate processes and resources.
LXC is the abbreviation of Linux Container. Lightweight virtualization can be provided to isolate processes and resources without providing instruction interpretation mechanisms and other complexities of full virtualization. Equivalent to NameSpace in C. Containers effectively partition resources managed by a single operating system into isolated groups to better balance conflicting resource usage needs among isolated groups.
Compared with traditional virtualization technology, its advantages are:
(1) Using the same core as the host machine, the performance loss is small;
(2) No Instruction-level simulation is required;
(3) Just-in-time compilation is not required;
(4) The container can run instructions locally on the CPU core without any special Interpretation mechanism;
(5) Avoids the complexity of paravirtualization and system call replacement;
(6) Lightweight isolation, while also providing a sharing mechanism to Realize resource sharing between containers and hosts.
Summary: Linux Container is a lightweight virtualization method.
Linux Container provides a mechanism to support the simultaneous execution of multiple mutually isolated server containers on a single controllable host node. Linux Container is a bit like chroot, providing a virtual environment with its own process and network space, but it is different from a virtual machine because lxc is a virtualization of resources at the operating system level.
Recommended learning: "docker video tutorial"
The above is the detailed content of What engine is docker based on?. For more information, please follow other related articles on the PHP Chinese website!