Why would I want a custom Docker host VM instead of TinyCore Linux in boot2docker?

Posted on

Problem :

I’ve read about Docker, boot2docker and Vagrant’s Docker provider and I guess I have a pretty firm grasp of how all of this works. However, there is still one thing I haven’t quite figured out yet.

Docker Host VMs (like TCL in boot2docker) provide a “proxy” VM environment to allow us to use Docker on non-Linux hosts. Now, say, if I want to reproduce a certain production environment, does it really matter which Docker Host VM I actually use? Why would there be a demand to choose a different host VM?

The reasoning here is that I can simply derive services like httpd and mysql FROM the desired boxes, i.e. if I use boot2docker and my production environment runs Ubuntu 14.04, I can simply “extend” the Ubuntu image in my Dockerfile and be done with it.

Am I right in thinking that switching the Docker Host VM would only be desirable while reproducing a production environment which also makes use of the Docker technologies? My particular use case involves using Docker (and Vagrant, too) only for isolation purposes in my own development environment. This may be the reason why I pretty much missed the point of a custom host VM.

As I understand, using Vagrant with Docker is just another level of abstraction to create a persistent and portable development environment. However, having in mind that it is possible to force Vagrant to use a particular host VM even on Linux hosts, I guess that there is some significance in using a custom host machine, but I am not yet aware of it.

Solution :

It’s a matter of balance. The simpler and smaller a hosts footprint is, the safer and probably more efficient and resource-friendly it’ll be.

For management of a host or cluster of hosts you’ll want tools, so you need to add those (assuming the tools are needed before and/or outside of containers) which then bloats the host OS.

In short, people have different opinions on what a host OS should provide and these opinions are what should guide you in your choice of host OS.

an article with example opinions on the matter: https://blog.docker.com/2015/02/the-new-minimalist-operating-systems/

Leave a Reply

Your email address will not be published. Required fields are marked *