Hi roman: slight correction --- vagrant plugin for docker doesn't use vms unless it's on a non-Linux system.
Otherwise, i agree that's a totally viable pipeline,... I guess this debate has many sides and next bigtop meetup maybe we can have this conversation it in person . > On Aug 26, 2014, at 4:48 PM, Roman Shaposhnik <[email protected]> wrote: > >> On Tue, Aug 26, 2014 at 11:03 AM, jay vyas <[email protected]> >> wrote: >> hi roman... >> >> Your absolutely right, and your not the first dude ive had this debate with >> :). >> >> also i think the debate can be generalized to other things, like "why use >> puppet when i can just use yum".... >> >> so anyways.. I figured Id quickly wrap up my thoughts in a blog post. >> >> http://jayunit100.blogspot.com/2014/08/why-i-still-use-vagrant-on-linux.html >> >> does that (sort of) make sense? > > Here's my take on it: just like Vagrant, Docker is two things: > #1 a way to quickly spin up an ephemeral container (think docker run) > #2 a way to manage these containers (think Dockerfile) > > If you're just using #1 then Vagrant and Docker are completely > complimentary. Since Vagrant takes up more resources (it uses > full VMs after all) I prefer Docker. > > As for #2 both need way to "bake" VMs based on a static definition > of what they are. If you're looking for a completely portable tool > of creating those "images" I would definitely recommend Packer. > > Even with Packer you still need a low-level tool for laying out the > system image just right. Puppet or Chef are good choices because > if you pick those then you're covered in the full spectrum: with the > same recipe you can bake: > * a bare metal server > * a VM > * a Docker container > > Thus, here's my recommended pipeline: > 0. Create Puppet code to statically define the image you want > 1. Use Packer to bake variety of those images with the same code: > 1.1. VMs > 1.2. Docker containers > 1.3. EC2 VMs > .... > 2. Use things like Docker/Vagrant interchangeably depending > on what env. you find yourself in (you always know that you > maintain an image for that env. anyway). > > Thanks, > Roman.
