eli5: Dockerization and docker files

457 viewsOtherTechnology

Understand the idea of “packaging” code to some degree, but why would this process need to be done? What is being resused and changing in the process to require scalability and efficiency that is described with the benefits of dockerization? It’s just not registering. Thanks.

In: Technology

7 Answers

Anonymous 0 Comments

There is classical virtualization, where you can get a reliable and reproducible copy of your environment by emulating hardware and running its own operating system. This works but has significant overhead because realistically you don’t need 10 different operating systems with 10 virtualized hardware devices to run 10 different apps on physical/virtual machine

Docker and its alternatives utilize the tools Linux gives you by cleanly separating your application from others, including various resources such as CPU, memory, disks, filesystems etc. while still providing the underlying operation system functionality without running multiple operation systems in parallel.

With that, you can create images – a filesystem which is just enough (best case scenario) to run your application and nothing more and run your apps as if that filesystem was a root filesystem.
Moreover, with tricks such as image layering you can even run 10 different apps while taking up barely more space than if you were to run one app, because best case scenario your apps shares 99% percent of system libraries and only differ by an actual application.

So essentially, docker IS lightweight virtualization, not in a technical sense, but from an intention endpoint.

You are viewing 1 out of 7 answers, click here to view all answers.