I think of Dockerfiles as a very static piece of code, it urges you to use templates on it.
Just like for a nginx.conf
And 100LOC, well, I've gotten very much used to bash. It is so comfortable when the terminal is your REPL. To tell you the truth my main deploy script is actually 500LOC of bash. It reads top to bottom with a lot of conventions (I was suprised to follow google's bash conventions), and short circuiting abuse.
And nor should they be, given the unavoidable constraints of the design.
> Whenever some bash script gets big (say, 100LOC), it gets rewritten in ruby.
100? You have patience I lack.