4 ms·
So why not use VM images? Why not a VMware vagrant box, for example?
by rlpb 14y ago
So why not use VM images? Why not a VMware vagrant box, for example?
- derefr 14y agoThis might work if you only have to run three or four VMs on a box, and run several applications in each container. Full PC virtual machines are much too heavyweight, though, for isolating thousands of individual processes per box, especially when most of them might just sit there doing nothing most of the time. Though! If you want to, you can think of this standard as specifying an "ABI format" for high-level, lightweight VMs that happens to run on a "Linux machine" instead of, say, an "IA32 machine."
- niall_ohiggins 14y agoOne major benefit over VM images is Linux Containers have very fast spin-up time. This can be especially useful for PaaS providers and CI servers.
- shykes 14y agoOther benefits: docker images are basically tarballs, which means they are much smaller. And, importantly, Docker maintains a filesystem-level diff between versions of an image, and only needs to transmit each diff once. So you get tremendous bandwidth savings when transmitting multiple images created from the same base.
- emidln 14y agoIf your images use kvm+qcow2 you can just spin up new vms as a delta image using qcow2's support for a backing store. I want a new instance of WEBSERVER.qcow2? qemu-img create -b WEBSERVER.qcow2 -t qcow2 WEBSERVER-$SERIALNUMBER.qcow2 If you're doing this as a PaaS or for CI, you do this as part of your new image creation and then pass in the new qcow2 to your vm (maybe via libvirt). If you aren't doing this or something very similar, you're spinning your wheels and wasting time/resources.