The idea of Docker comes from the container, the container solves what problem. On a large ship, the goods can be neatly arranged. And all kinds of goods are standardized by the container, the container and the container will not affect each other. Then I don't need a ship that specializes in transporting fruit, or a ship that specializes in transporting chemicals. As long as the goods are encapsulated in the container, I can take them all away with a big ship.
Docker is a similar concept. Cloud computing is now popular, and cloud computing is like a big freighter. Docker is a container.
1. Different applications may have different application environments, such as. NET developed Web sites and PHP-developed web sites depend on the software is not the same, if they rely on the software installed on a server will be debugging for a long time, and very cumbersome, but also cause some conflicts. For example, IIS and Apache access port conflicts. At this point you will isolate the. NET developed web site and the PHP-developed web site. As a rule, we can create different virtual machines on the server to place different applications on different virtual machines, but the virtual machine overhead is relatively high. Docker can realize the function of virtual machine isolation application environment, and the cost is smaller than virtual machine, small means saving money.
2. You use Ubuntu when you develop the software, but operations management is CentOS, operations in the software from the development environment to the production environment will encounter some Ubuntu to centos problems, such as: There is a special version of the database, only Ubuntu support, CentOS does not support, in the process of transfer operations to find a way to solve such problems. At this point, if you have Docker, you can transfer the development environment directly to operations, and OPS can directly deploy the docker you gave him. And the deployment speed is fast.
3. In the case of server load, if you open a virtual machine alone, then the virtual opportunity to occupy the free memory, Docker deployment, the memory will be used.
In short, Docker is the container principle.
So what is the image of Docker? Let's explain the concept of Docker mirroring.
The image of Docker is actually composed of a layer of file system, which is the unionfs of the above mentioned. At the bottom of the Docker image is Bootfs. This layer is the same as our typical Linux/unix system, which includes the boot loader and the kernel. When the boot load is complete, the entire kernel is in memory, and the use of the memory is transferred from Bootfs to the kernel, and the system uninstalls the BOOTFS. The first layer of Docker above Bootfs is the Rootfs (root filesystem). Rootfs is a variety of different operating system distributions, such as Ubuntu,centos and so on.
Hierarchy diagram for Docker images: