I don't consider myself a docker fanboy, but between bare metal, VMs, and docker... I think docker works better than most solutions thus far primarily because developers can run and test their code locally... But as you move more towards complicated solutions, docker becomes more than a 1-3 day training session, if it can even be tested locally anymore...
Despite dockerfile being essentially shell scripts on a clean basic install... It seems more approachable to developers than ssh and working with real servers.
> It seems more approachable to developers than ssh and working with real servers.
I think the problem with "ssh'ing into real servers" is reproducibility, right?
I say this as someone who does not use Docker and does not understand it and is scared of it, heh.
But the reason I think I probably should/will have to eventually learn it and use it, is I'm not sure there's a better solution to reproducibility, meaning basically "infrastructure as code", which really means "the state of the infrastructure as code".
Ansible/chef/etc are not great solutions. I haven't used Docker much yet, but my impression is that this is what leads people to Docker, liking it better than these alternatives specifically for reproducibility/"infrastructure as code"?
Yeah, you nailed it. Definitely take the dive yourself. Docker has made it so that we can run any of our tens of services locally with nothing more than a git clone and make up. It’s a great feeling!
You can "ssh" into a docker image and then commit it.
Than you can ship the binaries __or__ you can write down all the steps and ship the source (Dockerfile).
So it's something like a mix out of infrastructure as code, vms and baremetal. Something like vagrant but with lesser overhead.
Despite dockerfile being essentially shell scripts on a clean basic install... It seems more approachable to developers than ssh and working with real servers.