3 ms·
d00d, I was running Slackware on 0.9 kernels in a business environment when half of HN was trying to figure out how to remove their own diapers. I know Linux qu
by beat 12y ago
d00d, I was running Slackware on 0.9 kernels in a business environment when half of HN was trying to figure out how to remove their own diapers. I know Linux quite well enough. I use OSX for my desktop because it's the least awful desktop experience. If I'm coding, it's mostly command line tools, and there is no technical difference between running bash on a Linux desktop and running bash via vagrant ssh on my Mac.
What is different is that my Vagrant instance configuration is 100% programmable and repeatable. There are no surprises. There are no differences between development environment and production environment, in terms of installed software or patches. I'm not hacking away on some snowflake environment and then trying to grok wtf is wrong with my code when it gets deployed to the next environment.
But the original post isn't about this, even... it's about Docker. Dockerized applications are 100% binary-level compatible from environment to environment. I can easily localize from dev to test to production using environment variables - a proper 12 Factor App. Why would I not want to do this in my development environment? Why would I go back to some crude 2003-vintage development model that I know good and well is going to break things later?
And it gets worse. Lots of us have to deal with heterogeneous environments. What if I'm building for both CentOS and Debian? With something that's OS patch-sensitive? Do I test in production to see if it survives? No, I use Vagrant to test every platform I want, and Docker to guarantee consistency whenever I can.
How hard can it be? It can be much, much harder than a proper, modern Vagrant/Docker environment.
- josteink 12y agoI'm not saying "don't use Docker". I'm saying "use the Linux-based Docker-technology on Linux, instead of hacking it up on Mac, in a VM". I thought that was pretty obvious, but looking at the response I guess not.