Is anyone developing large Rails apps in Docker on OSX/Windows successfully?

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.

Docker on Mac is a world of pain when it comes to developing Rails Why is Rails boot so slow on macOS?

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.

4 Likes

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.

2 Likes

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.)

4 Likes

We have the same story that @georgeclaghorn is telling, and landed on the same solution :slight_smile:

Thanks for sharing your experiences – It’s reassuring to know that others came to similar conclusions.