4 ms·
I believe it’s going to be great for ANE users, but let’s just say that this author’s opinions on how local Docker shouldn’t be part of the “core development cy
by brians 6y ago
I believe it’s going to be great for ANE users, but let’s just say that this author’s opinions on how local Docker shouldn’t be part of the “core development cycle” don’t match my environment. This is going to mean investment in Linux laptops, for all their problems, for us.
- jdc0589 6y agobingo. I use docker to run ALL dependencies for ALL the stuff I develop as a way to be able to really cleanly keep stuff organized, and avoid having to figure out how to totally purge random installs of postgres/etc.. from my system. I also run a couple things 24/7 in docker: e.g. pihole A huge slowdown or hugely increased CPU usage (and its not good as-is) for running stuff in docker is a non-starter for me. If thats how it works out, that would be the nudge I need to seriously investigate a linux laptop.
- soraminazuki 6y agoIf organization is your goal, I'd recommend Nix over Docker. You can separate packages without having to maintain tons of separate containers.
- znpy 6y ago"ah, you've got a problem? BUT: what if you get yourself into this completely different set of problems?" jokes aside: the problem being discussed here is not organization, is running docker containers (with linux binaries inside) on mac os, on x86-64 today and arm tomorrow.
- soraminazuki 6y agoThe parent commenter quite clearly talks about using Docker to "keep stuff organized," so no, I wasn't talking about a "completely different set of problems." I'd also like to add that the parent commenter hasn't mentioned the need to run x86 binaries. You obviously don't need to run x86 pi-hole on an arm device.
- pjmlp 6y agoExcept macOS isn't Linux, so that is the problem right there.
- MrBuddyCasino 6y agoYeah that part was just "you're holding it wrong". I'm surprised that the option of running ARM containers on an ARM Linux isn't even mentioned? This would surely be the way forward?
- znpy 6y agoNot necessarily. What if your laptop is arm but your production environment is x86 ? You might think "well i'll have arm containers on my laptop and x86 containers in production" but then it means that dev and prod diverge: you're running different software, that might have different behaviors. One of the core ideas of docker was that you could have ideally the same artifact both in developmend, testing, staging, qa and prod environments. There's little way around the core problem: mac os x badly suited for running docker containers. The most performant way to run docker containers is to run them in native gnu/linux (hence: gnu/linux laptops)
- ed25519FUUU 6y agoCan you articulate any divergence you expect that wouldn’t otherwise be present running your container on another environment (prod)? I think “divergence” is a non-issue here if you’re testing locally, but the final build and push comes from another x86 CI host.
- MrBuddyCasino 6y ago> What if your laptop is arm but your production environment is x86 ? Thats what CI is for? > it means that dev and prod diverge It just means you're using a different architecture for your local development. Your DEV & TEST envs and your automated CI/CD runs can still use x86. Sure its a bit inconvenient, but for most types of development it won't matter much, as the stack doesn't compile to native anyway. I don't care if Java, JS or whatever runs on x86 or ARM.
- untog 6y ago> this author’s opinions on how local Docker shouldn’t be part of the “core development cycle” don’t match my environment Yeah, I think that's why making any blanket statement about this stuff doesn't work. Personally I went through a phase of Docker-ising everything I did because it made so much sense but really it just got in my way. My development work mostly consists of Node and Rust, both have self-contained package systems that mean encapsulating everything in Docker is unnecessary. But that's not the case for everyone!
- benologist 6y agoI find Docker very complementary to Node, not because I'm putting my code in a container but for all the databases and other software. When I'm running tests I automatically spin up a Redis or a Postgres or whatever database(s) are required. This lets tests run in parallel, projects co-exist etc, without any cross-contamination or shared/mixing of dependencies.
- pjmlp 6y agoI am yet to bother with Docker and unless a customer project requires it, I will keep staying away from it. Still using VM images, and I bet 5 more years and everyone and their dog will be doing multi-scale lambda functions on cloud runtimes with complete disregard for the underlying OS.