Docker is the app-ware for your computers that are not a smartphone.

At The Beginning

You have programmed for a few years and have cluttered up your sandbox, your local development machine, with downloads of many different libraries, frameworks, and maybe a virus or two.

The above described my life in 2008. The arduous tasks below detail the giant PIA (you are on your own to resolve the acronym) in my life at the time:

  1. Upgrading from Python 2.x to 3.x;
  2. Supporting production services written in Python 2.x and you were not allowed, even if you wanted to, upgrade them to Python 3.x;
  3. Upgrading Linux OS servers to the next major release and layers of associated tools, frameworks, services, and libraries;
  4. Trying out a new package that collided with your current set of tools, frameworks, services, and libraries;
  5. Needing a dependency of a package that is now called by a different name, or worst the dependency no longer exists anymore;
  6. Corrupting, probably an OS driver, such that a reinstall is required because reboot did not fix the problem;
  7. Last but not least, my biggest PIA, requiring that I need to go to the doctor, are more than five-year-old Linux servers that have a hardware failure, backup, and/or documentation that is incomplete or, worst, never verified to be reproducible.

The seven biggest-PIA-in-my-life “issues” (BPIAIML) seem like a System Administrator’s to-do list or a DevOps guru’s dream come true. As an architect and manager of several products and projects, I assure you that they are the biggest issues I need to resolve.


Better Docker Usage: 21 Techniques and 5 Concepts
1.45 GEEK