Recent Docker versions (17.04 CE Edge onwards) add additional flags to the -v option for docker run that make it possible to specify the consistency requirements for a bind-mounted directory. The flags are
consistent: Full consistency. The container runtime and the host maintain an identical view of the mount at all times. This is the default.
cached: The host's view of the mount is authoritative. There may be delays before updates made on the host are visible within a container.
delegated: The container runtime's view of the mount is authoritative. There may be delays before updates made in a container are visible on the host.
In 17.04 cached is significantly faster than consistent for many workloads. However, delegated currently behaves identically to cached. The Docker for Mac team plans to release an improved implementation of delegated in the future, to speed up write-heavy workloads. We also plan to further improve the performance of cached and consistent.
We will post updates relating to Docker for Mac file sharing performance in comments to this issue. Users interested in news about performance improvements should subscribe here.
To keep the signal-to-noise ratio high we will actively moderate this issue, removing off-topic advertisements, etc. Questions about the implementation, the behaviour, and the design are very welcome, as are realistic benchmarks and real-world use cases.
Recent Docker versions (17.04 CE Edge onwards) add additional flags to the
-voption fordocker runthat make it possible to specify the consistency requirements for a bind-mounted directory. The flags areconsistent: Full consistency. The container runtime and the host maintain an identical view of the mount at all times. This is the default.cached: The host's view of the mount is authoritative. There may be delays before updates made on the host are visible within a container.delegated: The container runtime's view of the mount is authoritative. There may be delays before updates made in a container are visible on the host.In 17.04
cachedis significantly faster thanconsistentfor many workloads. However,delegatedcurrently behaves identically tocached. The Docker for Mac team plans to release an improved implementation ofdelegatedin the future, to speed up write-heavy workloads. We also plan to further improve the performance ofcachedandconsistent.We will post updates relating to Docker for Mac file sharing performance in comments to this issue. Users interested in news about performance improvements should subscribe here.
To keep the signal-to-noise ratio high we will actively moderate this issue, removing off-topic advertisements, etc. Questions about the implementation, the behaviour, and the design are very welcome, as are realistic benchmarks and real-world use cases.