title: Is Docker Toolbox or Docker for Mac beneficial over virtualization solutions?
body: <p>Initially <a href="https://docs.docker.com/engine/understanding-docker/" rel="nofollow">Docker for Linux</a> leveraged the namespace, cgroup primitives to provide the containerization solution on Linux platform. It used <a href="http://lxc.sourceforge.net" rel="nofollow">LXC</a> and later on <a href="https://runc.io" rel="nofollow">runC</a> to jail docker processes. While they are extending the support for docker on Mac/Windows, seems that they are taking an inelegant workaround that beats the whole purpose of using containerization over virtualization.</p>
  
  <p><a href="https://docs.docker.com/docker-for-mac/docker-toolbox/" rel="nofollow">Docker Toolbox</a> used <a href="http://boot2docker.io" rel="nofollow">boot2docker</a> Linux (based on a stripped down version of Tiny Core) to host docker containers. boot2docker runs on Oracle Virtualbox.</p>
  
  <p><a href="https://docs.docker.com/docker-for-mac/docker-toolbox/" rel="nofollow">Docker for Mac</a> runs Alpine Linux on OS X Yosemite's native virtualization called <a href="https://developer.apple.com/library/mac/documentation/DriversKernelHardware/Reference/Hypervisor/" rel="nofollow">Hypervisor framework</a>. The interfacing is realized through <a href="https://github.com/docker/HyperKit/" rel="nofollow">Hyperkit</a> built on top of <a href="https://github.com/mist64/xhyve" rel="nofollow">xhyve</a> (an OS X port of <a href="http://bhyve.org" rel="nofollow">bhyve</a>).</p>
  
  <p><a href="https://docs.docker.com/docker-for-windows/faqs/" rel="nofollow">Docker for Windows</a> runs on Hyper-V virtualization framework on Windows 10.</p>
  
  <p>The <a href="https://docs.docker.com/engine/faq/" rel="nofollow">reason</a> behind using docker (in general, containers) over traditional VMs is negligible overhead and near native performance. Conainers has to be lightweight to be useful.</p>
  
  <blockquote>
    <p><strong>How do containers compare to virtual machines?</strong></p>
    
    <p>They are complementary. VMs are best used to allocate chunks of
    hardware resources. Containers operate at the process level, which
    makes them very lightweight and perfect as a unit of software
    delivery.</p>
  </blockquote>
  
  <p>As both Docker for Mac/Windows rely on some virtualization technology behind the scene, is using docker on these platform still retain its relevance? Doesn't using virtualization to emulate containerization beat the whole purpose of switching to docker framework? Just as a side note, this <a href="https://shinpeinkt.svbtle.com/why-i-wont-use-docker-on-my-macosx" rel="nofollow">article</a>, too, supports my viewpoint.</p>