The virtual machine is dead and the container is the future. So, what does the container (for example Docker) Replace a virtual machine? What are the differences between Docker and virtual machine, and what are the advantages of Docker?
The difference between Docker and virtual machine
As a lightweight virtualization approach, Docker has a significant advantage over the traditional virtual machine approach in running applications.
Installing Docker
Docker supports the use of mainstream operating system platforms, including Ubuntu, CentOS, Windows, and MacOS systems. Of course, it is native support on the Linux series platform, and the experience is better. The following are some of the systems that Docker supports.
Installation process is not many, the official website has detailed introduction https://www.docker.com/community-edition.
Docker's three core concepts, mirroring (image), container (Container), Warehouse (Repository).
The relationship between the three can be seen, a simple summary of the warehouse is to store the image, the image is started up after the container.
Image (Image)
A docker image, similar to a virtual machine image, can be understood as a read-only template for the Docker engine, and mirroring is the basis for creating a Docker container. With version management and incremental file systems, Docker provides a very simple mechanism to create and update existing images, and users can even download a well-done application image from the web and use it directly with simple commands.
The official Image warehouse address: https://hub.docker.com.
Container (Container)
Docker containers (Container) are similar to a lightweight sandbox, and Docker uses containers to run and isolate applications. A container is a running instance of an app created from a mirror that can be started, started, stopped, and these containers are isolated from each other and are not visible to each other. In a nutshell, a container is a running instance of a mirror, and the difference is that it has an extra layer of writable files.
Warehouse (Repository)
Warehouses (Repository) are places where images are stored centrally. An easy-to-confuse concept is the registration server (Registry). In fact, registering the server is the specific server that holds the warehouse, each server can have multiple warehouses, and there are multiple mirrors under each warehouse. Warehouses are also divided into public warehouses and private warehouses.
What can Docker change? The following aspects are summed up.
More efficient use of system resources. Compared to the virtual machine Docker container performance is better, can play more applications.
Consistent operating environment. Development, testing, online validation, online operating environment can be consistent and unified storage as a mirror, in different environments to run the same image, can guarantee the consistency of the application running environment at each stage.
Continuous delivery and deployment. Due to the consistency of each operating environment, the automated test environment is more convenient and efficient, and continuous delivery and deployment are made more convenient.
Migrate your system more easily. Because the application runs on a dependent environment within the Docker container, it is easier and quicker to migrate from one environment to another, simply by copying the image files to the corresponding environment and starting up. Does not require cumbersome configuration of various dependent software and system versions, making migration more efficient and smooth.
Linux crash class: What does Docker replace virtual machines with?