Difference: 1. Docker packages all the configuration of the application into a container, which is portable. LXC only implements process sandboxing and cannot be transplanted on different machines; 2. Docker is designed for applications The API, user interface, design principles and documentation have been optimized for deployment, while LXC only focuses on containers and does not optimize too much.
The operating environment of this tutorial: linux7.3 system, docker-1.13.1 version, Dell G3 computer.
What is the difference between lxc and docker
Docker is not a substitute for LXC. The bottom layer of Docker is implemented using LXC of. LXC sandboxes Linux processes so that processes are isolated from each other and can control the resource allocation of each process.
Based on LXC, Docker provides a series of stronger functions.
Portability
Docker defines a new format that packages applications and their dependent environments into a single object that can be installed on any installation Shared on a machine with Docker, the effect of executing this object on any machine is the same. LXC only implements process sandboxing and cannot be transplanted on different machines. Docker abstracts all application configurations and packages them into a container, making the container portable.
Application-centric
Docker is optimized for application deployment, which is reflected in its API, user interface, design principles and documentation. LXC only focuses on the container as a lightweight server.
Automated construction
Docker supports Dockerfile. All dependencies, build tools and packages of the application are written in the Dockerfile in the form of source code, and then Docker can Dockerfile builds the image. This image runs the same on any machine.
Version Control
Docker provides git-like version control functions for containers and supports version rollback and other functions. Docker also implements incremental upload and download functions, saving bandwidth resources during upload and download.
Component reuse
One image can be used as a base image to create more specific images, and multi-layer reuse is supported between images.
Image Sharing
Docker has developed a Docker Hub, which contains a variety of commonly used images, which is very convenient. We can also upload our own images to Docker Hub middle. Users can also build their own Docker warehouse in a private environment to meet the internal sharing of images.
Tool Ecosystem
Docker defines an API for automating and localizing the creation and deployment of containers. There are already a large number of tool sets integrated with Docker, such as Deis, mesos, docker-ui, jenkins, etc.
Recommended learning: "docker video tutorial"
The above is the detailed content of What is the difference between lxc and docker. For more information, please follow other related articles on the PHP Chinese website!