I use it all the time. It does exactly what I need. I'm usually either a one man dev team or the only experienced person in the room and I don't have the time or resources to do all the work that docker requires of me. I've been to a bunch of docker meetups because everyone loves the thing but it just seems like a hassle. I tried switching 3 times (2014, 2015, and 2016) and aborted each time after a couple days of grief.
I posit that people who use and love docker have larger teams with proper full-time admins and not just 1-3 people wearing all the hats. This is fine. I just have to be super judicious with my time.
I've also heard that many of the benefits come if you have a lot of servers running that are talking to each other. I'm not really doing that. There's also supposedly some lower overhead costs in using it but 32GB of ram which is nothing special these days has been more than sufficient for my virtualbox needs; heck I usually have 28 or so left over.
Vagrant+virtualbox I use all the time (here's the vagrantfile I am currently using: http://9ol.es/Vagrantfile - no chef or puppet stuff I just do it manually) . It doesn't do much and that's perfect, just what I'm looking for.
> I posit that people who use and love docker have larger teams with proper full-time admins and not just 1-3 people wearing all the hats.
We switched from a Vagrant based workflow, to a docker-compose one, and we are a team of 2 developers. That said, I identified use cases for Docker that offered very compelling advantages. For a typical web app, this may not be the case. In our situation, we run a load that is very background-job intensive, with multiple clusters of external resources used by the background jobs, so it's definitely a different story than the typical 2-3 tier web stack.
If you're working on a Linux workstation, Docker will spin up and run much faster than either VirtualBox or VMWare. This alone makes it worth switching.
I don't know what the current situation is on Windows or MacOSX. Back when I used them for my own work, the only choice was to run a VirtualBox instance running Linux and then run Docker on top of that. Clearly that solution is more of a lateral move from Vagrant.
Ok cool. I'd like applications to have a shared persistent storage space which isn't destroyed in between executions and their own network address. Haven't been able to pull it off. If I can't get that then it's a non-starter.
Understood, everyone's use case is different. On my team, we were using Vagrant to spin up something that looked a lot like our test environment (and, in turn, production) and that was a server running MySQL, Apache and PHP. Setting up a Docker instance that ran both and included some test data wasn't hard to setup and was faster to spin up on Linux workstations.
I've also tried Docker 2 different times and couldn't get the demos working on my Macbook Pro. And by now I have a pretty good Vagrantfile that works on both Mac and Windows well.
> I don't have the time or resources to do all the work that docker requires of me
> I posit that people who use and love docker have larger teams with proper full-time admins and not just 1-3 people wearing all the hats.
I’m not aware of what your use cases are, but I found Docker pretty simple to use and less of a headache than Vagrant. What work is it requiring you to do? I also use it for many projects that I am the sole dev for.
On OSX Vagrant always had issues with rsync of files. If you're using vagrant as just a blank machine, there is no difference between a blank debian/jessie docker image - apart from the lower resource usage. If you're not orchestrating anything concrete onto that vagrant box, I feel a proper workflow would be of benefit, i.e. properly reproducible builds. Take all those manual commands, prefix them with RUN in a docker file, done.
I think you’re describing an issue with virtual box not with Vagrant directly.
You could just as easily and much more portably put those “manual steps” into a shell script and run it as a Vagrant provisioning script. If you pick the right base box you will have portability across Mac, Linux, Windows hosts, using any number of available hypervisor/ish layers (vbox, parallels, VMWare, hyperv, lxc, etc)
I posit that people who use and love docker have larger teams with proper full-time admins and not just 1-3 people wearing all the hats. This is fine. I just have to be super judicious with my time.
I've also heard that many of the benefits come if you have a lot of servers running that are talking to each other. I'm not really doing that. There's also supposedly some lower overhead costs in using it but 32GB of ram which is nothing special these days has been more than sufficient for my virtualbox needs; heck I usually have 28 or so left over.
Vagrant+virtualbox I use all the time (here's the vagrantfile I am currently using: http://9ol.es/Vagrantfile - no chef or puppet stuff I just do it manually) . It doesn't do much and that's perfect, just what I'm looking for.