3 ms·
Indeed, Docker was not perfect, but was easier to use than LXC at the time it got popular. There is a certain barrier in usability(cost) and usefulness(reward)
by kavalg 9y ago
Indeed, Docker was not perfect, but was easier to use than LXC at the time it got popular. There is a certain barrier in usability(cost) and usefulness(reward) that must be passed so that hype (natural or induced) can do the rest. Looking from a reward/cost perspective, this is how Docker appealed to me:
Rewards:
- Hygienic build&deployment - being able to specify your requirements down to the OS lib versions
- Lower barrier to deployment (easy for users to try out my app and for me to try theirs)
Costs (mostly time):
- LXC was something that I understood, but could't make good use of to be worth it the time spent. Docker on the other hand required less time to do something useful (e.g. pull and run an image, turn an app to an image).
Time to learn a new tech depends on its complexity (concepts and relationships) and how it is revealed to the user (docs, tutorials etc). Willingness to learn the complexity depends on the distribution of rewards along the time axis. I think Docker guys did a great job improving the latter.
> But Docker for [Mac|Windows] offers a complete development story
Docker on Windows has been a nightmare for me (crashes all the time) and I have abandoned altogether. I'd happily get rid of Windows too if it wasn't the required in my work environment.
- AstralStorm 9y agoI wouldn't call docker easier to use than say libvirt. (Which it had as a backend until they dumped it.) Docker setup is especially bad at employing custom images easily and composing small pieces of software instead of huge packages... at least that was my experience.