Using Docker
Developing and Deploying Software with Containers
Publisher: O'Reilly Media
Final Release Date: December 2015
Pages: 354

Docker containers offer simpler, faster, and more robust methods for developing, distributing, and running software than previously available. With this hands-on guide, you’ll learn why containers are so important, what you’ll gain by adopting Docker, and how to make it part of your development process.

Ideal for developers, operations engineers, and system administrators—especially those keen to embrace a DevOps approach—Using Docker will take you from Docker and container basics to running dozens of containers on a multi-host system with networking and scheduling. The core of the book walks you through the steps needed to develop, test, and deploy a web application with Docker.

  • Get started with Docker by building and deploying a simple web application
  • Use Continuous Deployment techniques to push your application to production multiple times a day
  • Learn various options and techniques for logging and monitoring multiple containers
  • Examine networking and service discovery: how do containers find each other and how do you connect them?
  • Orchestrate and cluster containers to address load-balancing, scaling, failover, and scheduling
  • Secure your system by following the principles of defense-in-depth and least privilege
Table of Contents
Product Details
About the Author
Colophon
Recommended for You
Customer Reviews

REVIEW SNAPSHOT®

by PowerReviews
oreillyUsing Docker
 
4.6

(based on 8 reviews)

Ratings Distribution

  • 5 Stars

     

    (6)

  • 4 Stars

     

    (1)

  • 3 Stars

     

    (1)

  • 2 Stars

     

    (0)

  • 1 Stars

     

    (0)

88%

of respondents would recommend this to a friend.

Pros

  • Helpful examples (7)
  • Easy to understand (6)
  • Well-written (6)
  • Accurate (5)
  • Concise (4)

Cons

No Cons

Best Uses

  • Intermediate (6)
  • Expert (5)
  • Novice (4)
  • Student (3)
    • Reviewer Profile:
    • Developer (7), Sys admin (3)

Reviewed by 8 customers

Displaying reviews 1-8

Back to top

 
5.0

Great intro

By Sociologist

from Los Angeles, CA

Verified Buyer

Pros

  • Accurate
  • Easy to understand
  • Helpful examples
  • Well-written

Cons

    Best Uses

    • Expert
    • Intermediate

    Comments about oreilly Using Docker:

    Great background on docker. Great intro. I'm not qualified to judge the more advanced stuff, but it is thorough. I had some trouble with the Jenkins chapter. The code just did not work and I couldn't get it to work. Jenkins kept giving me an error.

    (1 of 1 customers found this review helpful)

     
    5.0

    The best book to learn Docker so far

    By Musghost

    from Mexico City

    About Me Developer, Sys Admin

    Pros

    • Accurate
    • Concise
    • Easy to understand
    • Helpful examples
    • Well-written

    Cons

      Best Uses

      • Expert
      • Intermediate
      • Novice
      • Student

      Comments about oreilly Using Docker:

      Each chapter is well explained and the author gives a lot of tips and tech you best practices, pros and cons, sources, repositories, etc.

      This book is well written and has the best practical examples I have seen.

       
      5.0

      Excellent explanation of Docker

      By Tom

      from Nacka, Sweden

      About Me Developer

      Verified Reviewer

      Pros

      • Concise
      • Easy to understand
      • Helpful examples
      • Well-written

      Cons

        Best Uses

        • Intermediate
        • Novice
        • Student

        Comments about oreilly Using Docker:

        This book has 3 parts. Part one is an excellent explanation of Docker. This part alone is worth more than the cost of this book. While reading this part I got fascinated and could not stop reading.

        Part two is about the development life cycle. The beginning of part two was as interesting to me as part one. The later chapters of part two wander away from core Docker into Jenkins integration, special hosting solutions, etc. Part three is more about surrounding tools to safely deploy Docker containers on host clusters. The end of part two and part three were not that interesting for me. I am sure other might find these parts very interesting.

        The book is well written in a style that is easy to read. I especially like the boxes with explanations.

         
        4.0

        An exhaustive coverage of advanced Docker topics

        By Jascha

        from Barcelona

        About Me Developer, Sys Admin

        Verified Reviewer

        Pros

        • Accurate
        • Concise
        • Helpful examples

        Cons

          Best Uses

          • Expert

          Comments about oreilly Using Docker:

          After a 2015 under the spotlight, which consolidated its position, Docker has become the de facto solution to get those monoliths that were split into micro services served through containers. Docker per se did not really create something completely new and revolutionary, since containers have been there since ages (Solaris Zones anyone?). But it certainly did make the whole thing easy to use for us mortals. The impact Docker had on the IT world caught the interest of giants, such as Amazon and Google, as well as that of a horde of small start-ups. This, coupled with the code being freely accessible on GitHub, resulted in a lot of new versions being released with new, juicy features; and it also resulted in lots of conferences, blogs and, luckily for us, books. In the last 12 months, indeed, the amount of titles dedicated to that blue whale significantly increased, and we now have quite a good selection of titles to get started, as well as to learn advanced topics. Using Docker belongs to the latter category. It targets experienced professionals interested in deploying and orchestrating infrastructures through Docker.

          Released at the end of 2015, and covering v1.8, using Docker, which spans almost 400 pages, is divided into three main parts: the basics, (continuous) deployment and orchestration, and, last but not least, a series of chapter covering miscellaneous topics, among which that very promising dedicated to service discovery.

          As mentioned above, Using Docker is a title that targets experts. Despite this, the first chapters cover the very basics: the architecture and a quick listing of the commands to interact with the daemon. Before getting a little deeper into these chapters, let's say that, overall, this first part is by far the worst of the whole book. Why? First of all, a book that cover topics that are meant for experts (someone new to Docker won't certainly start with how Docker couples with Jenkins or Puppet, after all) should not waste pages listing each and every command. Not only they are supposed to be known already by the reader, but, most important, the official documentation is quite good. Next, while describing the Docker architecture never hurts, more space should be dedicated to the concepts of union file system, cgroups and namespaces. They are barely touched or not at all. On the other hand, let's praise how the author explains the build context and volumes. The examples used are concise. On top of that, we are also given hints to avoid common pitfalls.

          The second part of the book covers many aspects of a software life cycle and how Docker can be part of each of them, that is, how we can take advantage of containers in the many different steps our application passes through, from development up to deployment, passing through continuous integration. Throughout these five chapters, an interesting Python Flask example is used as a reference.

          Continuous integration is covered in the eighth chapter and is certainly among the best chapters of the whole book. The author first discusses the different approaches to get Jenkins and Docker working in synergy, then, through a step by step approach, he shows the reader how to automate the whole testing process so that when a push is made, Jenkins fires up containers, runs tests and stores safely the resulting logs. The examples are easy to follow, despite their complexity, and significantly help the reader getting a better understanding of the concepts being taught.

          Among the other concepts tackled in this second part of the book are deploying containers, which covers several third party solutions, such as AWS. Here Docker Machine is introduced to the reader. Again, what stands out is how the author presents many different approaches, so that the reader can have a better global understanding. In this case, Adrian covers bash scripts, a process manager, and using a configuration management system (Puppet, Chef, ...). Sharing secrets is also briefly discussed, even if it's one of the most important open topics of the community and, as such, would probably deserve a title on its own. Logging is another chapter of this middle part of Using Docker that the reader should read over and over. The author presents different techniques to gather the logs so that, once centralized, they can be better exploited. The ELK stack is being beautifully discussed here.

          The last part of the book does not have a specific topic. Among these few chapters is service discovery. Again Adrian does a great job to introduce the concepts and the possible solutions. All of this with many concise examples that the reader should definitely try out.

          Overall, a very good book, no doubts. While the first part was so so, the rest of the book provide those interested in advanced topics with up to date theory and examples. Definitely suggested.

          As usual, you can find more reviews on my personal blog: http://books.lostinmalloc.com. Feel free to pass by and share your thoughts!

          (1 of 5 customers found this review helpful)

           
          3.0

          Docker for DevOps

          By TDDPirate

          from Israel

          About Me Developer

          Verified Buyer

          Pros

            Cons

            • Will Go Out Of Date

            Best Uses

            • Devops
            • Expert

            Comments about oreilly Using Docker:

            The most useful part of the book for me was the chapter about Docker fundamentals, and in particualr the Dockerfile instructions.

            The book devoted too much space to DevOps related information, which does not directly deal with Docker but with other tools in the Docker ecosystem. Those tools are, for the most part, still under active development. So this material is not really ready for inclusion in a book.

            It would have been better to condense the DevOps related information into a single survey type chapter, which will help people get the landscape and know under which names and where to look for more information, should it be needed.

             
            5.0

            Excellent

            By Jarrod

            from Melbourne

            About Me Developer, Educator, Maker

            Verified Reviewer

            Pros

            • Accurate
            • Concise
            • Easy to understand
            • Helpful examples
            • Well-written

            Cons

              Best Uses

              • Intermediate
              • Novice

              Comments about oreilly Using Docker:

              Very clear, concise and informative. I am new to Docker (I have used VM virtualisation with Vagrant before though) and after reading this book and doing all of the exercises I feel I am at a level where I can introduce it to my next consulting gig.

              (1 of 1 customers found this review helpful)

               
              5.0

              So far the best on Docker

              By Raistlin de Majere

              from Vienna, Austria

              About Me Developer, Maker, Sys Admin

              Verified Buyer

              Pros

              • Accurate
              • Easy to understand
              • Helpful examples
              • Well-written

              Cons

                Best Uses

                • Intermediate
                • Novice
                • Student

                Comments about oreilly Using Docker:

                This book really takes you from 0 to production in a comprehensive way, showing solutions with pros and cons, existing short comings and future improvements.
                One never has the feeling that it's only a mere concatenation of available online documentation.
                All the comments and references show that the author really is using and following the success of Docker.

                (3 of 3 customers found this review helpful)

                 
                5.0

                Superb overview of Docker (and ecosystem) for the real world

                By Daniel Bryant

                from London, UK

                About Me Developer

                Verified Reviewer

                Pros

                • Comprehensive
                • Easy to understand
                • Helpful examples
                • Well-written

                Cons

                • Docker Still Evolving

                Best Uses

                • Expert
                • Intermediate

                Comments about oreilly Using Docker:

                I use Docker in my daily work as a consultant and I have kept an eye on all of the emerging Docker books, as I like to recommend reading to clients. In my opinion Adrian's book currently provides the best guidance for learning to use Docker in the real world.

                Not only are the core concepts of containers/Docker explained, but also the surrounding ecosystem is discussed (composing containers, networking, storage), and the use of containers within typical application stacks is explored (e.g. building a microservice-based Python web app with containers, continuous integration, deployment, centralised logging, and monitoring)

                There are also chapters providing an overview of third-party networking products, essential container security concepts, and a brief overview of deployment options for running Docker at scale (which Adrian states will be expanded in future versions to include Kubernetes and Mesos etc)

                If you are a complete software development novice, then some of the concepts talked about in this book may be overwhelming. However, for the rest of us that want a concise and practical overview for integrating Docker into our existing development workflows (and getting value from this), then I would definitely recommend this book.

                ** As a disclaimer I have worked with Adrian briefly at Container Solutions/Open Credo, but I have endeavoured to write an unbiased review of the current content

                Displaying reviews 1-8

                Back to top

                 
                Buy 2 Get 1 Free Free Shipping Guarantee
                Buying Options
                Immediate Access - Go Digital what's this?
                Ebook:  $50.99
                Formats:  DAISY, ePub, Mobi, PDF
                Print & Ebook:  $65.99
                Print:  $59.99