Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Docker containers (includes content update program) : build and deploy with Kubernetes, Flannel, Cockpit, and Atomic
Negus C., Prentice Hall Press, Upper Saddle River, NJ, 2015. 320 pp. Type: Book (978-0-134136-56-1)
Date Reviewed: Aug 24 2016

When Computing Reviews invited me to review this book, I thought it would be a good way for me to understand what exactly docker containers are. After reading and rereading the first few chapters, I was still as ignorant as in the beginning, so I decided to take a look at Wikipedia. Yes, I know, it’s a shame, but at least I was able to reread the first few chapters of the book and finally understand what it was all about.

That does not mean that this book is impossible to understand, but that it’s intended for somebody who already knows about the subject. Chapter 1, which should be a clear and simple introduction to the matter, is plagued with the introduction of many undefined terms, which seem to be various ways of naming almost (but not exactly) the same thing: container, image, base image, docker image, container image, docker container.

When the author prepares to tell us what a container is, in fact he tells us what it is not, and he explains the limitations of containers instead of their capabilities. Thus, in order to help readers who want to know whether containers are good for them, I’ll quote here the introduction sentence from the https://www.docker.com/what-docker website: “Docker containers wrap a piece of software in a complete filesystem that contains everything needed to run: code, runtime, system tools, system libraries – anything that can be installed on a server. This guarantees that the software will always run the same, regardless of its environment.”

That’s not exactly a definition, but it can help someone decide whether to run software directly on an operating system, or indirectly on a virtual machine simulated on a computer, or in a container, which is an intermediate solution, with much better performance than a virtual machine and almost the same security.

The idea seems interesting, and the fact that it works only on Linux is not a limitation for many people. However, this idea also seems to be in its infancy; the author frequently warns readers that the material is still developing, and they should search for information about the latest developments on various websites.

Linux exists in many different versions, and the author is mainly interested in Red Hat products, that is, Fedora, RHE Linux, and CentOS. There are also some examples using Ubuntu, but nothing about Mint, Debian, or OpenSUSE, that is, the three other distributions that are in the top four according to the Distrowatch page hit ranking. Maybe this reflects the fact that docker containers are better suited to server applications than to graphic interfaces.

The examples begin to be instructive and interesting from chapter 5. This chapter contains an important glitch on page 68, where a full paragraph is missing, leading to confusion between JavaScript and Java. This chapter also demonstrates that the use of a purely textual interface becomes extremely annoying when you have to type a command with 20 different parameters or more.

Another problem is the order of the chapters. Chapter 3 appears too early and is better skipped, according to the author himself. Privileged containers are alluded to in chapter 5, but readers are referred to chapter 13. Chapter 6, about tags, would probably be better placed in an appendix.

The book would probably be much more pleasant to read if the author had explained clearly what containers are and what their main purpose is, and then developed complete, useful examples. For example, it would be very useful to show how you can encapsulate an Apache server in a container, running on a computer having its own Apache server. In order to prevent those two servers from competing to use the same ports, something should be done, which is not clearly explained.

From chapter 9 onward, the book becomes increasingly difficult to read: clearly the author knows his subject very well, but he makes no serious effort to help his readers understand what he means. This is a pity, because docker containers seem to have a brilliant future. Let’s hope that a new edition will fix these defects.

By the way, limiting the book’s title to its first two words would be a good idea!

More reviews about this item: Amazon

Reviewer:  O. Lecarme Review #: CR144708 (1611-0777)
Bookmark and Share
  Featured Reviewer  
 
Systems Programs And Utilities (D.4.9 )
 
 
Linux (D.4.0 ... )
 
 
Reference (A.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Systems Programs And Utilities": Date
UNIX utilities: a programmer’s reference
Tare R., McGraw-Hill, Inc., New York, NY, 1987. Type: Book (9789780070628847)
Aug 1 1988
System software: an introduction to systems programming
Beck L., Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1985. Type: Book (9789780201109504)
Feb 1 1986
Processing variable length abbreviations: some observations
Newman I. Software--Practice & Experience 16(5): 413-423, 1986. Type: Article
Nov 1 1986
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy