tiistai 25. maaliskuuta 2025

Book Review: Docker Deep Dive

The book I chose to read for the reading week is called ‘Docker Deep Dive’ by Nigel Poulton. This book covers the basics of Docker, it’s history, how it works and how to use it in a simple and understandable way.

 

 

The first chapter covers why Docker exists in the first place. Before learning how Docker works, it is important to understand why it is needed. We begin the chapter by talking about how applications were deployed in the past. First each application needed its own server to run on. This caused significant overhead due to each server not being used to its fullest. This is compounded by the fact that companies didn’t want to buy too weak of a computer which led to overcompensation.

Next Poulton talks about virtual machines (VMs) and VMWare. This technology revolutionized application deployement. Now companies could run several applications on a single server, significantly reducing the amount of servers needed. However, the problem with VMs is that they still cause some overhead. Each VM needs an operating system kernel to run and so not being as effective as it could. Another problem with VMs is that they aren’t portable; an application running on the Linux kernel may not work on a Windows kernel for example.

Containerization aims to fix both of these issues. Containers use the host operating system’s kernel to run and they’re highly portable. The drawback on containerization is that it is complicated to deploy one. And so the reason Docker exists is to simplify containerization or, in the words of Poulton, “Docker was the magic that made Linux containers usable for mere mortals”.


This chapter gave me a fairly interesting view into why Docker exists. I’ve been using Docker to deploy some applications before and I understand when to choose Docker over deployment on a virtual machine or on bare metal. However having a holistic view of the history for Docker’s creation helps me to appreciate its existence. With Docker I don’t need to learn how to implement a Linux container!


I can definitely recommend this book to anyone interested in Docker who may not know where to start. The language used in it is not overly technical and the chapters are very well structured, at least judging by the first few chapters. Docker is a technology I think most people working in IT will come across so having a good grasp of it will certainly prove useful.


As for my language learning process, I’ve kept a steady pace of reading books about the computer science topics that interest me. I need to look up what some words mean fairly often, so trying to keep them in mind has proven difficult but worthwhile.

Language learning tips and my language learning journey going forward

  For me the best way to learn any language is to use. This includes both input (movies, TV, books, etc.) and output (written and spoken co...