Docker is a very popular containerization technology. It makes deployment of complex distributed applications easy. This is achieved by running each individual service inside an isolated environment. This isolated environment has it’s own operating system, but it’s really lightweight. Unlike a virtual machine, it only has those components that a particular service needs. And because it’s isolated, it’s known as a container.
Because each container runs a consistent environment regardless of what host system it’s running on, you can make sure that your application inside the container will be the same, regardless of the environment you deploy the container on. And your whole collection of containers can be deployed by running just a simple script. Those are just some of many benefits of using Docker.
Unfortunately, Docker is not known for being well documented. Well, every part of its functionality is documented on its official website, but the explanations are often vague and not very easy to follow. So, if you have never used Docker before, you will probably end up visiting various forums and blog posts a lot, some of which will contain contradictory or outdated information.
But there is a better way. Instead of doing these, you can just buy a book from a reputable publisher. This way, you will get all the information you’ll need in one place. And it would have been reviewed by real technical experts.
There are two books about Docker that I would recommend to everyone – The Docker Workshop and Docker in Action.
The Docker Workshop
This book covers pretty much every aspect of Docker – from the basics to how to use it inside a Kubernetes cluster. It doesn’t go too much into the depth and doesn’t cover various edge cases (although it covers some), but it provides more than enough information for you to be able to use Docker effectively.
Each chapter of the book is structured as a step-by-step tutorial. There is a brief explanation on how any particular part of Docker works. Then you are presented with exercises – step-by-step instructions on how to set things up on your own system.
At the end of each chapter there is one or more activity that will test what you have learned in the chapter. You will be presented with requirements, but this time you will have to come up with your own implementation.
The best way to learn something is to practice it. And this book gives you a really good opportunities to do so.
Another bonus of this book is that it contains a link and registration code to free video lessons, which duplicate the exercises and activities from the book’s chapters. This way, you will actually see how each exercise is implemented on a real system. And you will be given some additional pointers in those videos.
You can buy this book from here.
Docker in Action
This book takes slightly different format. It also shows you many examples of how to set things up. But this one goes deeper into the details.
Each chapter covers the inner workings of various Docker components. And you will also learn about best practices with sufficient explanation why those are best practices.
Even though the book is fairly detailed, it’s still an easy read. Authors did a great job explaining complex things well.
And because the book is so detailed, after reading it, you will be well equipped to deal with various edge cases.
I was so impressed with the book that I’ve used it as a reference material in a training course that I have authored – Building IoT Applications with SignalR.
You can buy this book from here.
After reading these two books, you will be a true Docker expert. You will know 99.99999% of everything there is to know about Docker.
If you want to get up to speed with Docker quickly, then The Docker Workshop should probably be the book you should choose. After going through all the exercises, you will be more than capable to use Docker in a real-life environment.
If you want to delve deeper into the subject of Docker, then perhaps you should read Docker in Action. It’s less beginner-friendly, but it’s more detailed.
Both are great books and you will not regret getting them.