Docke was originally implemented based on LXC. LXC is the abbreviation of Linux container. Lightweight virtualization can be provided to isolate processes and resources without providing instruction interpretation mechanism and other complexities of complete virtualization. Equivalent to the namespace in C++. Containers effectively divide the resources managed by a single operating system into independent groups to better balance the conflicting resource usage requirements between independent groups.
Docker is not a substitute for LXC. The bottom layer of docker is implemented by LXC, which sandboxes linux processes, isolates them from each other and enables them to allocate resources in a cabinet system. On the basis of LXC, docker provides a series of more powerful functions.
Docker can automatically perform repetitive tasks, such as building and configuring the development environment, so that developers can focus on what really matters: building excellent software.
Users can easily create and use containers and put their own applications into them. Containers can also be versioned, copied, shared and modified, just like managing ordinary code.
Three concepts of docker:
Image: Similar to an image in a virtual machine, it is a read-only template of the Docker engine and contains a file system. Any application needs a running environment, and mirroring is used to provide such an environment. For example, an Ubuntu image is a template that contains the Ubuntu operating system environment. Similarly, installing Apache software on this image can also be called Apache image.
Container: Similar to a lightweight sandbox, it can be regarded as a minimalist Linux system environment (including root permissions, process space, user space and network space) and applications running in it. The Docker engine uses containers to run and isolate applications. A container is an application instance created by mirroring, which can be created, started, stopped and deleted. Containers are isolated from each other and do not affect each other. Note: The image itself is read-only. When the container starts from the image, Docker creates a writable layer on top of the image, and the image itself remains unchanged.
Warehouse: Similar to the code warehouse, this is the picture warehouse, where Docker centrally stores picture files. Pay attention to the difference between the registered library and the registered library: the registered library is a place to store warehouses, and generally there will be multiple warehouses; A warehouse is a place to store images. Usually, each warehouse stores an image, and each image is distinguished by a tag. For example, Ubuntu warehouse stores multiple versions (12.04, 14.04, etc. ) Ubuntu pictures.
The purpose of dockers:
The official is bulid ship run, which means compile, load and run. It is to realize the life cycle management of application packaging, deployment and operation, as long as it can run in the glibc environment.
The container cloud platform independently developed by Harmony Cloud is a complete IT standardization and automation framework based on Docker and Kubernetes technologies. IT is a new generation of PaaS platform with the goal of "terminal-oriented and optimizing IT resources", which can improve the IT management ability of enterprises, reduce operating costs and risks, obtain higher operation and maintenance efficiency, and ensure stable operation and efficient iteration of business.