What hypervisor does Docker for Mac (Edge) Kubernetes use?

Hi - I’ve recently started using the Kubernetes setup inside Docker for Mac Edge (Version 18.01.0-ce-mac48 (22004)) running on macOS High Sierra 10.12.6 (16G1114).

I tried minikube before this which lets the user pick from 5 hypervisors: virtualbox (default), vmwarefusion, kvm, hyperkit, or xhyve. I experienced issues running virtualbox containers for minikube, which I believe are due to custom kernel extensions running inside my corporate environment; however, there were no issues (so far) with DfM k8s.

I’m wondering what hypervisor DfM is using behind the scenes? Or is it something else like docker-machine?

Here’s where I’ve looked so far:

- Docker for Mac k8s quickstart and deploy guides
- I tried running a docker ps with Kubernetes > Show system containers enabled but didn’t see anything obvious there.
- Searching the Docker - Docker for Mac for “kubernetes”

Are there currently docs where I can read more info about how Docker for Mac k8s is working behind the scenes?

It’s hyperkit (as it always has been for Docker for Mac) plus a whole bunch of integration tools/daemons and a custom Linux distro based on LinuxKIt

1 Like

Thanks! Can you elaborate on the “whole bunch of integration tools/daemons” bit? I’m not too familiar with this part of Docker. Are there docs I can read on it?

The Linux VM in Docker for Mac/Windows is build with https://github.com/linuxkit/linuxkit and there is an example in https://github.com/linuxkit/linuxkit/blob/master/examples/docker-for-mac.yml with some documentation https://github.com/linuxkit/linuxkit/blob/master/examples/docker-for-mac.md. The hyperkit documentation here also has some details: https://github.com/linuxkit/linuxkit/blob/master/docs/platform-hyperkit.md

1 Like