Skip to main content

Isaac Freeman

Sustainable Dev Environments with Docker and Bash

Docker is a good tool for deployment, but I've always found it too fiddly to be useful for development environments on macOS.

David Bryant Copeland's Sustainable Dev Environments with Docker and Bash covers a straightforward way to fix that, walking through how to write Bash scripts to manage Docker containers for development. Along the way it provides a refresher course on Docker and Bash scripting, and shows how to build well-behaved scripts with all the behaviour you'd expect from a command-line tool.

Both Docker and Bash have (to put it mildly) a lot of poorly-conceived terminology and unpredictable behaviour. They're messy, but they're widely used, and Bash especially has stood the test of time. Copeland is appealingly snarky, and doesn't try to hide the sharp edges: instead he shows how to build around them so you don't get cut. It's immensely reassuring as a reader to know that the author sees the same problems you do, and has mapped out a path to avoid them.