What are the advantages of docker over virtual machines?
The advantages of docker compared to virtual machines: 1. It takes up little disk space; 2. It starts up quickly, in seconds; 3. It has good concurrency, and one host can start thousands or hundreds of containers; 4 , High resource utilization; 5. Easier to migrate; 6. Easier to maintain; 7. Easier to expand.
The operating environment of this tutorial: linux5.9.8 system, docker-1.13.1 version, Dell G3 computer.
Virtual machine
Virtual machine (Virtual Machine) refers to a complete hardware system function simulated by software and running in a completely isolated environment A complete computer system in.
The difference between traditional virtual machines (Vmware, VirtualBox, etc.) is that the virtual system will not reduce the performance of the computer. Starting the virtual system does not need to be as time-consuming as starting the windows system, and running programs is more convenient and faster;
The virtual system can only simulate the same environment as the existing operating system, while the virtual machine can simulate other types of operating systems; and the virtual machine needs to simulate the underlying hardware instructions, so the application running speed is faster than that of the virtual machine. The system is much slower.
Container (Docker)
Docker allows developers to package their applications and dependencies into a portable container and then publish them Virtualization can be achieved on any popular Linux machine. Docker has changed the way of virtualization, allowing developers to directly put their results into Docker for management. Convenience and speed are already the biggest advantages of Docker. Tasks that used to take days or even weeks can be completed in just a few seconds under the processing of Docker containers.
With the advent of the cloud computing era, developers do not have to configure expensive hardware in order to pursue effects. Docker has changed the mindset that high performance must be high price. The combination of Docker and the cloud allows cloud space to be more fully utilized. It not only solves the problem of hardware management, but also changes the way of virtualization.
Advantages compared to VM
##Container technologyVirtual machine technologyOccupied disk spaceSmall, even dozens of KB (in the case of the mirror layer)Very large, up to GB Startup speedFast, a few secondsSlow, a few minutesRunning stateRun directly on the host's kernel, different containers share the same Linux kernelRun on HypervisiorConcurrency A host can start thousands or hundreds of containersUp to dozens of virtual machinesPerformanceClose to the local process of the hostLower than the hostResource utilizationHighLow1. Fast startup speed
Starting a virtual machine requires starting the operating system of the virtual machine first, and then starting the application. This process is very slow;And starting Docker is quite To start a process on the host operating system.2. Occupies less resources (occupies disk space)
The virtual machine is a complete operating system and requires a large amount of disk, memory and CPU resources. The machine can only open dozens of virtual machines. Docker is just a process. It only needs to package applications and related components. It takes up very few resources during runtime. One machine can open thousands of Dockers.3. Easier migration
Provides a consistent operating environment. Packaged applications can be migrated to different machines without worrying about environment changes causing inability to run.4. Easier maintenance
Using layering technology and mirroring makes it easier for applications to reuse repeated parts. The higher the degree of reuse, the easier the maintenance work will be.5. Easier expansion
You can use the basic image to further expand to get new images, and the official and open source communities provide a large number of images. By extending these images, you can It's very easy to get the image we want. Recommended learning: "docker video tutorial"
The above is the detailed content of What are the advantages of docker over virtual machines?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



The steps to update a Docker image are as follows: Pull the latest image tag New image Delete the old image for a specific tag (optional) Restart the container (if needed)

How to use Docker Desktop? Docker Desktop is a tool for running Docker containers on local machines. The steps to use include: 1. Install Docker Desktop; 2. Start Docker Desktop; 3. Create Docker image (using Dockerfile); 4. Build Docker image (using docker build); 5. Run Docker container (using docker run).

Steps to create a Docker image: Write a Dockerfile that contains the build instructions. Build the image in the terminal, using the docker build command. Tag the image and assign names and tags using the docker tag command.

Troubleshooting steps for failed Docker image build: Check Dockerfile syntax and dependency version. Check if the build context contains the required source code and dependencies. View the build log for error details. Use the --target option to build a hierarchical phase to identify failure points. Make sure to use the latest version of Docker engine. Build the image with --t [image-name]:debug mode to debug the problem. Check disk space and make sure it is sufficient. Disable SELinux to prevent interference with the build process. Ask community platforms for help, provide Dockerfiles and build log descriptions for more specific suggestions.

To save the image in Docker, you can use the docker commit command to create a new image, containing the current state of the specified container, syntax: docker commit [Options] Container ID Image name. To save the image to the repository, you can use the docker push command, syntax: docker push image name [: tag]. To import saved images, you can use the docker pull command, syntax: docker pull image name [: tag].

Four ways to exit Docker container: Use Ctrl D in the container terminal Enter exit command in the container terminal Use docker stop <container_name> Command Use docker kill <container_name> command in the host terminal (force exit)

Methods for copying files to external hosts in Docker: Use the docker cp command: Execute docker cp [Options] <Container Path> <Host Path>. Using data volumes: Create a directory on the host, and use the -v parameter to mount the directory into the container when creating the container to achieve bidirectional file synchronization.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).
