DoctorNuke ยุคสังคมดิจิตัลเปลี่ยนผ่าน Artificial Intelligence (AI) talk , Website , Social and Programming Chat , SEO พูดคุยสนทนา … by DoctorNuke ( 1996)
Virtual Machine and Dockers , what's the difference?
Quote from doctornuke on January 14, 2025, 7:49 pmSummary of difference: Docker vs. VM
Docker container
VM
What is it?
Docker is a software platform to create and run Docker containers. A Docker container is an emulation of a user-space instance, the part of the operating system where user processes run.
An emulation of a physical machine—including virtualized hardware—running an operating system.
Virtualization
Container abstracts operating system details from the application code.
VM abstracts hardware details from the application code.
Objective
Abstract hardware details and increase hardware utilization.
Improve application environment management and bring consistency across multiple environments.
Managed by
The Docker Engine coordinates between the operating system and Docker containers.
The hypervisor coordinates between the machine’s physical hardware and virtual machines.
Architecture
Shares resources with the underlying host kernel.
Runs its own kernel and operating system.
Resource sharing
On-demand.
A fixed amount, set in a virtual machine image’s configuration requirements.
Summary of difference: Docker vs. VM
Docker container |
VM |
|
What is it? |
Docker is a software platform to create and run Docker containers. A Docker container is an emulation of a user-space instance, the part of the operating system where user processes run. |
An emulation of a physical machine—including virtualized hardware—running an operating system. |
Virtualization |
Container abstracts operating system details from the application code. |
VM abstracts hardware details from the application code. |
Objective |
Abstract hardware details and increase hardware utilization. |
Improve application environment management and bring consistency across multiple environments. |
Managed by |
The Docker Engine coordinates between the operating system and Docker containers. |
The hypervisor coordinates between the machine’s physical hardware and virtual machines. |
Architecture |
Shares resources with the underlying host kernel. |
Runs its own kernel and operating system. |
Resource sharing |
On-demand. |
A fixed amount, set in a virtual machine image’s configuration requirements. |
Quote from doctornuke on January 14, 2025, 7:54 pmWhen to use a virtual machine
It’s best to use a virtual machine if you’re running applications with these requirements:
- Operating system-specific dependencies
- Substantial hardware resource requirements
- A need to set various controls in operating systems
- Legacy applications that no longer run on modern operating systems
- Different operating system requirements with a single underlying physical infrastructure available
When to use Docker
It’s best to use Docker when you’re running applications with these requirements:
- Lightweight resource requirements or a microservice architecture
- A distributed physical infrastructure environment, including cloud-based servers
- Rapid deployment cycles (as Dockerfiles are easier to manage than VM configurations)
- A rapid scalability requirement
When to use a virtual machine
It’s best to use a virtual machine if you’re running applications with these requirements:
- Operating system-specific dependencies
- Substantial hardware resource requirements
- A need to set various controls in operating systems
- Legacy applications that no longer run on modern operating systems
- Different operating system requirements with a single underlying physical infrastructure available
When to use Docker
It’s best to use Docker when you’re running applications with these requirements:
- Lightweight resource requirements or a microservice architecture
- A distributed physical infrastructure environment, including cloud-based servers
- Rapid deployment cycles (as Dockerfiles are easier to manage than VM configurations)
- A rapid scalability requirement