3 ms·
I use it on a team of 3. The main reason for not using Docker is 2 devs use mac full time, and I have a macbook air for when I'm not at home w/ my Linux desktop
by joshribakoff 9y ago
I use it on a team of 3. The main reason for not using Docker is 2 devs use mac full time, and I have a macbook air for when I'm not at home w/ my Linux desktop. So we'd have to use boot 2 docker anyways, which uses Vagrant. So might as well just use Vagrant. Its not perfect. A lot of file watchers do not work right or are slow. "Git status" just hangs the box, and nodemon / pm2 watch don't work unless I enable a special "polling" flag. But it beats the status quo of on boarding a new dev & telling them to manually setup a dev environment. On boarding new developers went from months to an hour, which is mainly due to Ansible... but Vagrant is a means to being able to test Ansible scripts.
Another gripe is we have to edit the Vagrantfile & adjust the CPU / memory usage for each developer. There's no way to have a local override AFAIK.
We also have another Vagrant box that emulates our IOT devices, which runs X server. That's been a huge productivity gain in that we can just change code live, instead of having to rsync code to a physical device to test it. .
- djhworld 9y agoDocker for Mac doesn't use boot2docker anymore, it uses the native MacOS virtualisation layer https://www.docker.com/docker-mac https://www.docker.com/docker-mac
- paperpunk 9y agoIf you're ever interested in taking another look you might consider Docker for Mac. There should be no need to use boot2docker anymore. Docker for Mac is the official, recommended solution, and uses HyperKit for lightweight virtualisation and in my experience is a lot faster than using Vagrant with something like VirtualBox.
- stephenr 9y agoI noticed your comment yesterday and meant to reply, and then forgot about it. So, you're right there is no "built in" support for Overrides on a per-project basis in Vagrant. There is some built in support - it will source local Vagrantfile files and wrap them around the project specific one (so e.g. my $VAGRANT_HOME/Vagrantfile is setup to tweak the defaults for the Vagrant-Hostmanager and Vagrant-Parallels plugins, and this then applies to all Vagrant machines that don't otherwise change those settings). Probably what you really want though is the ability to override per-project, per-dev. This is where it helps (a lot) if you know ruby, or if you're willing to learn a little (which was my case for this problem). I've put the basics of this concept into a gist here: https://gist.github.com/stephenreay/2afd4205e76836f20e17672238a10957 https://gist.github.com/stephenreay/2afd4205e76836f20e176722...