title: How does Docker run a Linux kernel under macOS host?
body: <p>I installed Docker on my macOS Sierra as follows. Note I don't have VirtualBox installed.</p>
  
  <pre><code>brew cask uninstall virtualbox
  brew cask install docker
  </code></pre>
  
  <p>My macOS details.</p>
  
  <pre><code>$ uname -a
  Darwin m-C02QG7TRG8WN.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar  3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64
  
  $ docker version
  Client:
   Version:      17.03.1-ce
   API version:  1.27
   Go version:   go1.7.5
   Git commit:   c6d412e
   Built:        Tue Mar 28 00:40:02 2017
   OS/Arch:      darwin/amd64
  
  Server:
   Version:      17.03.1-ce
   API version:  1.27 (minimum version 1.12)
   Go version:   go1.7.5
   Git commit:   c6d412e
   Built:        Fri Mar 24 00:00:50 2017
   OS/Arch:      linux/amd64
   Experimental: true
  </code></pre>
  
  <p>Once I run Docker from launchpad, I am able to run Docker containers.</p>
  
  <pre><code>$ docker run -it ubuntu
  root@2351d4222a4e:/# uname -a
  Linux 2351d4222a4e 4.9.13-moby #1 SMP Sat Mar 25 02:48:44 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  </code></pre>
  
  <p>My question is how does Docker manage to run a Linux kernel within macOS? I thought Docker would at least require boot2docker or some other such Linux kernel running so that it can create the Ubuntu's filesystem with the help of it. But the above output seems to indicate that it is not so. Where does the Linux kernel come from then?</p>