However, unlike Docker on Linux, any file system changes need to be passed between the host and container via Docker for Mac, which can soon add a lot of additional computational overhead. HyperKit provides the kernel capabilities of Linux. This is a native MacOS application, which is bundled with an embedded hypervisor ( HyperKit). In contrast, there is a much bigger overhead on MacOS and other platforms in keeping the file system consistent - which leads to a performance degradation.ĭocker containers run on top of a Linux kernel meaning Docker on Linux can utilise the native kernel and the underlying virtual file system is shared between the host and container. On Linux, keeping a consistent guaranteed view between the host and container has very little overhead. Any writes in either the host or container are then reflected vice-versa. It gives the container a view of the host’s file system - In literal terms, pointing a particular directory in the container to a directory on your Mac.
In Docker, we can bind-mount a volume on the host (your mac), to a Docker container.