3 ms·
Vagrant already does this nicely, and works with more than just Docker. For those targeting production outside of Docker my company has made these images availa
by bashtoni 12y ago
Vagrant already does this nicely, and works with more than just Docker. For those targeting production outside of Docker my company has made these images available: https://github.com/BashtonLtd/docker-vagrant-images https://github.com/BashtonLtd/docker-vagrant-images
- ddollar 12y agoNice :) I believe Vagrant also now has built-in support for Docker which is very useful for starting up ancillary services that your app needs: https://docs.vagrantup.com/v2/provisioning/docker.html https://docs.vagrantup.com/v2/provisioning/docker.html I quite like Vagrant myself but my primary complaint is that I seem to spend a lot of time waiting for VMs to start up and run a lot of bootstrap code.
- mitchellh 12y agoNice to talk to you again David! You're linking to the wrong thing. This is the proper comparison to Tug: https://docs.vagrantup.com/v2/docker/index.html https://docs.vagrantup.com/v2/docker/index.html Re your complaint: with the Docker provider, Vagrant only spins up _one_ VM (if you're not on Linux). After that, `vagrant up` just executes `docker` directly so there is no waiting around for bootstrapping. It even detects if you have Docker installed locally or not to decide whether it needs to run in the VM or not. And, if you're on Linux, it doesn't use a VM at all, unless you're on a kernel that doesn't support Docker, in which case it automatically/transparently starts the VM. EDIT: Responding to David's comment below since it would go to deep: Vagrant is basically the same here. It doesn't require Dockerfiles, you can just spin up images.
- ddollar 12y agoAwesome :) I think then that the primary difference with Tug is that it can work in a "hybrid" virtualized/local mode if you haven't yet written a Dockerfile/Vagrantfile/other for your app. Tug can start by simply spawning dependencies like Postgres and Redis and let you incrementally move towards a Dockerfile for your app.
- ddollar 12y agoThank you for the kind words and the clarifications Mitchell :) Tug is a simple tool that I wrote to scratch a personal itch around working with dockerized applications and trying to optimize for startup speed and writing as absolutely little configuration as possible. I'm hoping to get a few other people to try it out and let me know if it works for them and if it's useful, especially given the existence of so many other tools of this nature.
- fulafel 12y agoHaving VirtualBox as the preferred backend is a pretty heavy stone in Vagrant's neck. VB kernel driver is terrible on Linux. See eg http://www.phoronix.com/scan.php?page=news_item&px=OTk5Mw http://www.phoronix.com/scan.php?page=news_item&px=OTk5Mw
- mitchellh 12y agoOn Linux, if you're using Docker, then it runs it natively without a VM. VirtualBox is not "preferred" as much as its the default, because its the easiest to acquire. For example, on Windows 8+, Hyper-V is actually the default for Vagrant because its built in to almost every installation of Windows (Vagrant checks). Vagrant really just chooses whatever appears to be available on your system.
- cheshire137 12y agoVagrant is so slow on my MacBook that I never use it. We always set up Vagrant in our new projects at work but I just run stuff on my host machine because I can't stand waiting for the initial Vagrant setup, processes to start, tests to run, servers to respond, etc.
- shykes 12y agoIf you're specifically looking for a convenient way to use Docker for development, don't use Vagrant. It tries too hard to abstract Docker away, so it's not a good choice if you care about compatibility with the rest of the ecosystem, keeping up with future improvements to Docker, etc. If you don't care about benefitting from Docker specifically, then it's worth evaluating Vagrant for environment devs, it's a good tool.