Over a million developers have joined DZone.

Book Review: Docker for Developers

DZone's Guide to

Book Review: Docker for Developers

Docker for Developers is effectively split into two sections. The first covers basic setup of your machine (on linux, mac, and windows) and the use of the standard container images available from the Docker repo.

· Cloud Zone ·
Free Resource

Learn how to migrate and modernize stateless applications and run them in a Kubernetes cluster.

I am a huge fan of LeanPub and have been for some time. For the uninitiated, it provides a great platform for people to self publish books, allowing authors to sell the books during and after the writing process. There’s a brilliant selection of books on there that would never have gotten made if it weren’t for the wonder of self publishing. As a result I’m always browsing for new books to check out.

I was particularly excited when I came across last week's featured book “Docker for Developers”. Over the last 2 years Docker has been on an unstoppable popularity march and hailed as the solution to everyones deployment problems. Having only had a brief chance to play with it before I was excited to see what the book had in store. I've used Vagrant to great aplomb on a prior project and wanted to see what Docker could add for me in terms of development process and how that then fits in with the wider deployment picture.

Image title

The first caveat up front is that the author Chris Tankersley comes from a PHP background, a language I have almost zero experience in. I’m a Java boy. The book promises that although the examples are based on PHP they’re applicable broad spectrum and lack of PHP shouldn’t be a problem, which I would generally agree. The examples generally revolve around PHP, Nginx, and MySQL, and whilst the book isn’t clear on how everything plays together it’s nothing a quick google won’t help the unexperienced to understand. It also means the examples used are quite high level. This is good on one hand as it makes the book highly accessible and very easy to read- it’s reasonably sized and something you can pick up and put down quite easily, whilst giving a broad but thorough intro into Docker. I would have liked it to go into a bit more depth on best practices such as how to use Docker whilst actually developing code day to day, but perhaps this would be best placed in a non language agnostic book.

Docker for Developers is effectively split into two sections. The first covers basic setup of your machine (on linux, mac and windows) and the use of the standard container images available from the Docker repo. This is a great from-the-beginning walk through, with a good history on VMs and virtualisation and where Docker fits into the picture. If you’ve never had chance to dabble in Docker then this is a great place to start and will have you firing up multiple containers which all talk to each other in no time.

The second half of the book concentrates on some more advanced topics, including building your own images. This is particularly important for real world usage and deployment, and I found the examples used in this section were significant enough that I could use what I’ve learnt in the book to now go and apply this in a professional context. I was particularly pleased to see the book covers a bunch of the recently released tooling such as Docker Swarm in some detail, including real examples of how to scale up deployments on a cloud provider.  This is a very practical and hands on book and I highly recommend coding along with the examples to get the best experience.

All in all I feel Docker for Developers is a great introduction to the world of Docker and containers for people with little or no experience in the area. By the end of the book, following all the examples in the book, the reader should be confident enough to start using Docker on their projects.

Docker for Developers is available on Leanpub.

Join us in exploring application and infrastructure changes required for running scalable, observable, and portable apps on Kubernetes.

docker ,php ,nginx ,mysql

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}