5 ms·
> Since many people are still not too familiar with Vagrant (it doesn't seem to have the cachet of Docker for local dev environments) That's only a recent tren
by ArlenBales 9y ago
> Since many people are still not too familiar with Vagrant (it doesn't seem to have the cachet of Docker for local dev environments)
That's only a recent trend. Up until Docker became the standard a couple years ago (or whenever Docker for Mac was made stable), Vagrant was the standard for dev environments. The primary reason Docker succeeded Vagrant for dev environments is speed. Docker can have my dev environment up from scratch in seconds, but with Vagrant it took minutes.
- aidenn0 9y agoAlso the early reliance on virtualbox was a performance issue for some build environments even once they were up. I have at least one C++ project that (for windows) takes 8x as long to build on vbox vs. a real machine.
- TwelveNights 9y agoWow, it doesn't rely on VirtualBox anymore? I remember using it before for the development environment of an old company, and that being a small nuisance. Nowadays, Docker is really miles ahead in terms of usage in development environments. Vagrant was pretty easy to set-up and use back then, but now Docker is much, much easier.
- porker 9y agoI need to get into this Docker malarkey for dev machines. Running on Windows, how do you share files between the Docker image and the host machine? With Vagrant I use NFS.
- h_r 9y agoYou basically create a mount point inside the VM to a place on your host disk.
- TwelveNights 9y agoTo expand on the other commentor, check out volumes: https://docs.docker.com/engine/admin/volumes/volumes/ https://docs.docker.com/engine/admin/volumes/volumes/.
- aidenn0 9y agoVagrant calls the backends "providers." It ships with 4 providers IIRC (VirtualBox, Hyper-V, VMWare, Docker), and there are plugins for dozens of others (it's so large a list because there's one provider each for pretty much every cloud service out there, even ones I've never heard of). I think that VirtualBox and VMWare are the only two providers that work everywhere, unless docker runs on windows now.
- perbu 9y agoI've just started using vagrant with vmware fusion. Whilst not cheap the fans on my computer are much happier these days.
- ubernostrum 9y agoI once worked on a project which used Vagrant as its officially recommended local dev environment. Every time I had to set it up from scratch, it took me -- and I was not a novice, and knew the stack well -- a day or more and many, many failures to get running. Thankfully, I think the project has since abandoned Vagrant. (and Docker isn't much better in my experience)
- hallman76 9y agoyou, and they, were doing it wrong. The point of vagrant is that you type 'vagrant up' and you have a working environment. All of my projects use vagrant to ensure compatibility. You can 'git clone' and 'vagrant up' and have a working environment as soon as the provisioning task completes.
- ubernostrum 9y agoThanks for the help. I trust that the people who provided whatever configuration it used knew what they were doing, but it was still incredibly flaky.
- allover 9y ago> I trust that the people who provided whatever configuration it used knew what they were doing You should never trust that people know what they are doing in this industry.
- scaryclam 9y agoI don't think I've ever encountered a Vagrant setup that was flaky and wasn't just down to the Devs not actually understanding how to write a vagrantfile. In my experience, those who have hate for vagrant are folks who either didn't know how to use it, or were burned by others who didn't. It's a real shame as well, vagrant's a really good tool.
- jjoonathan 9y agoNot my experience. Vagrant encounter 1: it would always exit immediately after barfing some garbage that messed up the line discipline. It wouldn't even print help menus. Reinstalling, 32 vs 64 bit, slightly different binary versions etc didn't seem to affect this behavior. Vagrant encounter 2: on a nearly virgin Windows box, "vagrant up" on a bog standard centos image stalled out for an entire work day. No stdout, no stderr, no logs, no exit status, it just sat there. On a scale of 0 to 'flake', it's at full flake.
- fulafel 9y agoThe problem with Vagrant was always that the other backends besides VirtualBox were second class citizens because of image and config file incompatibility between backends. And VB is pretty bad, the driver side was always crashy on Linux and it conflicts with the native virtualization drivers on Mac, Windows and Linux. So there were good reasons to avoid it before Docker too.
- y4mi 9y agoi used vagrant with libvirt/qemu at my last job and it worked just fine though... the only problem i had was updating base boxes, but that was self inflicted because it was easier to make a function to delete them from the libvirt cache than maintaining proper versioning. /edit: i just realized from your other comments that you're probably constraining yourself to prebuild baseboxes. you really shouldn't. its trivial to built them with packer [1] and there are lots of config files on github[2] to do just that. This makes it possible to really tweak them for full integration right after 'vagrant up' [1] https://www.packer.io/intro/index.html https://www.packer.io/intro/index.html [2] https://github.com/chef/bento https://github.com/chef/bento