3 ms·
I feel like the article doesn't spell out exactly what is wrong with Docker, only that its a Gamble and Dangerous, why? I understood the point that it may be a
by trumpeta 8y ago
I feel like the article doesn't spell out exactly what is wrong with Docker, only that its a Gamble and Dangerous, why?
I understood the point that it may be an overkill for static binary deployments, but how is that dangerous?
- sametmax 8y agoThe hype. Docker is an unifying interface. It's great at what it does: make a standard facade for app deployment, setup and service management. But it also comes at a cost. And as usual in the IT industry, the people using the tech sell it like a silver bullet, and avoid to tell you that: - docker is complex as a product and a concept - knowing how to run docker != knowing how to use docker properly. Remember the nosql debacle where people though they could not formalize their schema because the DB didn't enforce it ? Geeks love the circle of life. - docker is rarely alone, it will come up with an ecosystem that will creep in your stack. Like you never really do reactjs alone but soon find out you have 1000 plugins for a complex build system and you architecture depends on a flux implementation - most things just don't need docker. Dockers solves a technical and organizational scaling problem. If you don't have the problem, you don't need docker. Just like you probably don't need a blockchain for your new client reward policy. - docker is a LOT of new things to learn. Not only how to use it, but also how to do all the sysadmin things you used to do right, again, but with docker. Network management used to be a fun one. Not running as root again. Persisting data. - you will need something to install docker and the infra anyway. So you will not drop Ansible/Chef/Whatever. They will work together. - people use docker as an excuse to not do their job properly. No packaging, little doc, etc. "Just use the docker image". This one leads to bad times. - Not everyone uses docker. You don't live in a bubble. - Docker images are big huge binary you download from internet and run on your server. It's very painful to audit. And so easy to ignore. - The paradox of choice. So many things in the docker world. And it changes so fast. It's really hard to know what to use, and to keep up. I've seen many projects wasting time and resources just because of the docker setup. It's like those people setting up a distributed architecture for a job that takes 10 seconds to run as a bash script. Bottom line, if you think you need docker, don't use it. People needing it don't think they need it. They know they need it. And it's useful for them because they use it right.
- RickJWagner 8y ago"Geeks love the circle of life." Best thing I've read on HN today.
- viraptor 8y agoI agree with some points, however: - No packaging, little doc, etc. "Just use the docker image". I'll take a project with a dockerfile used for CI over a project with short setup instructions. The first one is less likely to go out of date, or be incorrect. (Ideally it would have both, and a good operations manual. But given only those two, very common choices) - Docker images are big huge binary you download from internet and run on your server. I agree this is how most people use it, but you're not forced to use it that way. You can deploy memcached based on 200MB Ubuntu base, or a custom images containing the lsb layout + libc + few devices, totalling ~8MB. The huge images are a documentation/community issue, not a technical one.
- sametmax 8y agoOh yeah, just like leftpad was not a technical issue. But it's still a good analogy of a big problem the JS community has.
- viraptor 8y agoI think leftpad was a bit different. Programming in JS you often need some dependencies. You could start from scratch and do everything in your own, but that's a huge time / resources sink. Using docker you can always start from scratch and it's barely any harder than using some huge starting image.