Friday, August 31, 2018

'Learn Docker - Fundamentals of Docker 18.x' Book Review

What is Docker?

In the previous blog we looked at Docker/Containers at a high level and also compared VirtualBox with Dockers. VirtualBox and others like Xen, KVM, HyperV provide hardware level virtualization while Dockers/Containers provide OS level virtualization. Because of which Docker/Containers are lightweight.

Below is the virtualization using VirtualBox. As noticed multiple OS kernels which provides the application level isolation run on the same hardware making it heavy and also inefficient.


Here is the application level isolation provided by containers. As noticed the OS kernel is only run once for all the applications. This makes it efficient.


How to install Docker?

Docker can be installed/run on Windows, Mac and Linux. As I had been using Ubuntu as my primary OS, I followed the instructions for Linux. There is much more easier way to try Docker without any installation with all in a browser by using Play with Docker, every thing runs in the Cloud. It uses a concept called Docker in Docker (DID). All we need to do is to create an account with Docker and get started for free. Here we can try Docker on a single node or on a cluster of 5 nodes. Play with Docker is for the sake of learning, prototyping, demos and not for production purpose.

Review of Learn Docker Book

To explore more into Dockers, recently I completed reading the Learn Docker - Fundamentals of Docker 18.x and would be reviewing the book here.

  • The book starts with a light note on containers, ecosystem and then deep dives into Docker. The good think  about the book it is that it slowly increases the complexity towards the end of the book, this makes it easy for those who don't know what Docker is all about.
  • The book has equal emphasis on theory and practice. As soon as a concept is discussed immediately the complete example code and how to execute the same wherever appropriate is given. Once Docker has been installed, the examples can be tried out. Most of the cases the code can be executed as-is.
  • The book doesn't end at Docker, but also explains about container orchestration. There is in fact a few chapters on the inbuilt Docker orchestration layer Swarm and also on the latest Kubernetes again with examples. There are also few chapters on Dockers and orchestration in the Cloud.
  • It's not just about development against Docker, but also about making it production ready. There are a few sections on Security, Load Balancing, Blue-Green/Canary deployment, Secrets to name a few.
  • At the end of each chapter, there is a section for further reading to explore further. Also, included is a small quiz with answers.

Conclusion

I would definitely recommend Learn Docker - Fundamentals of Docker 18.x for anyone who is trying to get started with Docker. As mentioned Docker can be installed on Windows, Mac and Linux. If we don't want to install Docker, then Docker can be tried for free at PWD (https://labs.play-with-docker.com/).

No comments:

Post a Comment