Docker and the benefits of application deployment

Tram Ho

Docker and the benefits of application deployment

1. What is Docker?

  • Docker is a platform at the OS layer (operating system) for running virtualization of services/applications quickly. This virtualization is similar to those of you using VMware to create virtual servers, sharing the hardware of the real server. Docker can be called virtualization of applications sharing the resources of a server.
  • Docker is a software platform that allows you to quickly build, test, and deploy applications. Docker packages software into standardized units called containers that have everything the software needs to run, including libraries, system tools, code, and runtimes. Using Docker, you can quickly deploy and scale your application into any environment and know with certainty that your code will run.

2. Docker model in computer

Docker works by providing a standard method for running your code. Docker is an operating system for containers. In the same way that a virtual machine virtualizes (eliminating the need to directly manage) server hardware, containers virtualize the host’s operating system. Docker is installed on each host and provides simple commands that you can use to build, start, or stop containers.

This is a comparison image between Docker and VMware.

  • A Virtual Machine (VM) is a simulation of a computer system. Simply put, this technology makes it possible for users to create multiple “logical computers” on one “physical computer”, easily managing security. The architecture of the service when operating on the virtual machine platform is illustrated in the image below:
  • Docker containers will remove the “Guest OS” layer, with service initialization speeds much faster than using virtual machines. Docker Containers will minimize and simplify security updates. The architecture of the service when operating on the Docker container platform is illustrated in the image below:
  • The Docker daemon can communicate directly with the server’s operating system and allocate resources to the running Docker containers, ensuring each container operates independently of the other containers and the server’s operating system. Instead of having to wait a minute for the virtual machine to start up, users can start a Docker container in just a few milliseconds and save a lot of disk space and other system resources by not having to use “guests”. OS” is cumbersome for each application. Users will not need virtualization because Docker runs directly on the server’s operating system.
Virtual machineDocker containers
Large size (capacity)Small size (capacity).
Each virtual machine will have its own operating system.The container will use the host’s operating system.
Hardware virtualizationVirtualization in terms of operating systems
Start-up time in minutesBoot time in milliseconds
Allocate memory as neededRequires less memory space
Completely isolated and saferProcess level isolation, possibly less secure

3.Conclusion

  • Whether to use a virtual machine or a Docker container will depend on the user’s needs. Virtual machines are well suited for isolating system resources and the entire working environment. This will be a better choice to run applications that require all the resources and functionality of the operating system when you need to run many applications on the server or have many different operating systems to manage. For example, if your company offers web hosting, you might use virtual machines to distribute the resources of your company’s server to each client.
  • Docker’s philosophy, on the other hand, is to isolate individual applications, not the entire system. A perfect example of this would be breaking down a bunch of web application services into their own Docker images and deploying them using Docker Containers. Docker Containers are the better choice when your biggest priority is to maximize the number of applications running on a minimal number of servers.
Share the news now

Source : Viblo