I am trying to reach maximum performance out of docker for local development on MacOS.
Currently bottleneck is in volumes.
- No volumes.
./run.sh vanila remote
. Same as local. But can't edit code with IDE and troubles with remote IDE in beta. - Regular volumes.
./run.sh volume remote
.- Very slow.
- With
virtiofs
a bit faster. - Volume parameters like
cache
only increase sync time.
- NFS.
./run.sh nfs remote
. 3 times slower. Close to real time file sync.
- virtiofs. States to be fast. In beta. Requires MacOS. Has issues with file ownership.
These tools send files into containers via networking. This means that we have delay between file change on guest and host:
- Mutagen. Fast sync. But often got corrupted state.
- docker-sync. Very slow sync.