In the filesystem, isolation shows up as layering: the filesystem of a running container consists of a series of incremental layers, topped by a container-specific read/write layer that keeps changes made within the container concealed from the outside world. Basics of bind-mountingĪ defining characteristic of containers is isolation: by default, many parts of the execution environment of a container are isolated both from other containers and from the host system. in the moby/moby repository symfony (2.7× speedup)Ĭurl of the main page of the Symfony demo app rake (3.5× speedup)įor more details about how and when to enable caching, and what’s going on under the hood, read on. Here’s an illustration of the improvements in a few tools and applications in common use among Docker for Mac users: go list is 2.5× faster symfony is 2.7× faster, and rake is 3.5× faster, as illustrated by the following graphs: go list (2.5× speedup) (Docker users on the stable channel will see the improvements in the forthcoming 17.06 release.) Commands for bind-mounting directories have new options to selectively enable caching.Ĭontainers that perform large numbers of read operations in mounted directories are the main beneficiaries. Recent Docker releases (17.04 CE Edge onwards) bring significant performance improvements to bind-mounted directories on macOS.