3 ms·
This raises some interesting points, and I agree in part. I think docker makes sense in some cases, single, compiled binaries that adhere to 12 factor app stan
by willejs 11y ago
This raises some interesting points, and I agree in part.
I think docker makes sense in some cases, single, compiled binaries that adhere to 12 factor app standards, I'm all for putting in a docker container. I would then run them on a PaaS, if the reasoning is sound. I am working on a project doing this currently.
However, shoe horning something like a php-fpm & nginx stack in there, or anything that doesn't fit the aforementioned spec, seems and mostly is complicated. Doing something like this has caveats, becomes confusing and when you look into it, crazy.
I am fed up of the hype and people thinking that docker is the silver bullet that solves all problems, and should be used for everything.
Ultimately, I feel like a lot of people don't understand how docker works under the hood, and what it takes to deploy and operate applications in docker containers in production. The result of this is mostly scary.
I feel like I don't have to go into details about security, entry point scripts, gosu, multi processes, logging, sketchy build processes, mounting config volumes, persistent storage, layer caches, networking, links, SDN and more. These are some of the things you have to work with with, around or avoid with docker, they are the issues people are not aware of, or don't yet understand.
- dragonsh 11y agoMy feeling is the real things get lost in hype. I still feel given the current tool support for continuous integration docker containers are useful. But going from development to production is entirely different story. Moreover what docker calls single process (actually what they mean is single daemon, which might fork multiple processes). You can use LXD in those scenario, where you needed extra security and run unprivileged containers as lightweigh VM. So containers in itself has evolved to support different scenarios. not sure when docker will better join forces with LXD and LXC teams whose work is phenomenal and was foundation of docker.
- jacques_chester 11y ago> I am working on a project doing this currently. You would find OpenShift or Cloud Foundry interesting references. > However, shoe horning something like a php-fpm & nginx stack in there, or anything that doesn't fit the aforementioned spec, seems and mostly is complicated. Different stacks have different ecosystems with different patterns of historical evolution. PHP grew from a shared hosting world and pretty much everything written in PHP assumes some version of that. I used to work on Cloud Foundry buildpacks. "Shoehorning" is the entire point of the buildpacks abstraction. Ruby, Python, PHP, Java, Golang and NodeJS developers all have the same interface to a Heroku or Cloud Foundry installation.
- magicmu 11y agoI think the hype that you (and the author) are talking about exposes an interesting problem in products that target developers. Overwhelming popularity is generally awesome for a business / product, but in this case it seems that over-use may actually be diluting the core value-prop of Docker. If people were silly, which sometimes happens, I could see a snowball effect where Docker is generalized to be wholly un-useful, which would be terrible for the product. Not that that will happen, but an interesting thought.
- ddw 11y agoAnd often tools that the developer masses love optimize for getting started quickly ("I can spin up an instance of Elasticsearch in one line!") instead of what is sustainable.