
Jfrazelle/dockerfiles: Various Dockerfiles - cjr
https://github.com/jfrazelle/dockerfiles
======
willejs
So I have a problem with docker and how a large majority of containers are
built and operate, and its kind of about stuff like this
[https://github.com/jfrazelle/dockerfiles/blob/master/awscli/...](https://github.com/jfrazelle/dockerfiles/blob/master/awscli/Dockerfile)
Versions of pip packages arnt specified, and its basically a shell script with
no error handling.

I reality I feel like most dockerfiles, and entrypoint scripts just turn into
big shell scripts, that do crazy stuff. Mostly way worse than this, with
sed'ding config files, and all kind of things. A bit like this
[https://github.com/pokle/cassandra/blob/master/cassandra/src...](https://github.com/pokle/cassandra/blob/master/cassandra/src/start.sh)

In reality I think docker is great for 12 factor stateless services, where you
want process isolation and resource constraints. However, shoe horning things
into docker containers gets complex, confusing, inflexible, unstable and often
dangerous.

I feel like configuration management did what these dockerfiles and entrypoint
scripts did for years, but now its deemed to complex, or confusing, so people
have picked docker, and in effect reverted back to shell scripts? I am waiting
for someone to come up with a viable solution to CM with docker I guess, or
justify why we should run everything in docker, because so far its obvious you
shouldent. This repo is fine if your using it in development, I use this stuff
for exactly that. But, if dev != prod thats bad, and I am still not sure how
to solve that without lots of battle tested CM in a VM, all the way to IaaS.

