I’ve now worked at two organizations with large Rails codebases (~100 controllers) and there have been major performance issues affecting developer productivity when running in Docker compared to natively.
This seems to be a theme that I’ve seen across other large Rails apps.
The preferred way to use GitLab Development Kit is to install Ruby and its dependencies on your ‘native’ OS. We strongly recommend the native install, since it is much faster than a virtualized one. Due to heavy IO operations a virtualized installation will be much slower running the app and the tests.
https://gitlab.com/gitlab-org/gitlab-development-kit/blob/master/README.md
Is anyone having success developing large Rails applications in Docker on OS X (or Windows)?If so, can you share some of your settings and configuration?
If you have not had success with Docker, can you also share that?
I’m hoping to find out if this is even worth the investment.
On Windows with WSL2 our docker dev setup works perfectly fine:
On Mac, even with every hack in the book stuff can be a bit slow due to of the native / vm bridge required for filesystems.
I still far prefer a native dev environment cause even on Linux there is a small price you pay for using Docker. That said if you are looking to contribute and want proper isolation Docker on WSL2 can be a perfectly fine dev story.
We found Docker for Mac to be too slow, resource-intensive, and unreliable and switched back to running apps natively. We still use Docker for external services like MySQL and Elasticsearch. (And we still use Docker for Linux in production.)