Back to articles
Docker works; until it doesn't. Why I started using Nix for dev environments
How-ToDevOps

Docker works; until it doesn't. Why I started using Nix for dev environments

via Dev.to DevOpsCharalambos Emmanouilidis

It's Monday morning. A new engineer joins the team. By Thursday, they're still fighting their dev environment. The Dockerfile the previous engineer wrote pulls from ubuntu:22.04 , runs apt-get install without pinned versions, and "works on the CI runner." On the new engineer's M2 Mac it builds fine but the binary crashes at runtime because they're running a different glibc. You've seen this. We all have. The thing is: Docker was supposed to fix this. It didn't. It just moved the problem. Not in production -- in development environments. The Problem with Dev Environments Dev environments fail in predictable ways: Dependency drift : your local toolchain diverges from CI over weeks. Nobody notices until a build breaks in production but passes locally. Version manager sprawl : nvm , pyenv , rbenv , sdkman -- one per language, none of them talk to each other, all of them break on OS upgrades. Platform gaps : macOS developers running Linux containers via a VM, dealing with volume mount perfo

Continue reading on Dev.to DevOps

Opens in a new tab

Read Full Article
9 views

Related Articles