4 ms·
If you're developing for Linux via Mac or Windows and you're comfortable at the CLI, just forego Docker Desktop, install regular Docker (or podman) in a VM, and
by pxc 3y ago
If you're developing for Linux via Mac or Windows and you're comfortable at the CLI, just forego Docker Desktop, install regular Docker (or podman) in a VM, and work that way.
If you can, avoid using x86 Linux containers on Apple Silicon. Build some aarch64 ones for development and test your x86 images in CI and on the machines of devs using x86.
Similarly, if you can avoid deploying your environment via Linux containers on macOS, do it. Use Nix to get reliable dev envs, and then use Nix to build your production containers. You'll have to take your time and learn something new, but it's insane how much faster it is and you can avoid dealing with all kinds of hassles with filesystem mounting and port forwarding and so on.
- maccard 3y ago> If you're developing for Linux via Mac or Windows and you're comfortable at the CLI, just forego Docker Desktop, install regular Docker (or podman) in a VM, and work that way. That's pretty much what docker desktop does anyway, except it bridges the host with th containers in the Vm. I don't think it's worth throwing out all of the interop there because Docker the 2-billion-dollar company can't handle basic networking on windows and Mac. > Use Nix to get reliable dev envs, I'd really rather not throw away all of the _good_ docker has - despite my complaints, I still use it every day.
- pxc 3y ago> That's pretty much what docker desktop does anyway, except it bridges the host with th containers in the Vm. I don't think it's worth throwing out all of the interop there On WSL, incl. WSL2, you get bridged networking 'for free'. I'm not sure what Docker Desktop adds there. I'm not really on Windows anymore. But WSL is part of the picture when it comes to Docker's awful performance and memory leaks on Windows. If you can give up WSL/Hyper-V in favor of a better hypervisor, you can get much better performance. > I'd really rather not throw away all of the _good_ docker has - despite my complaints, I still use it every day. I guess we differ there, in that I don't really think Docker (which is really useful) is a great fit for local development— especially on non-Linux. There are other teams at my org who develop using Docker, and for those I've spoken to it's been a real win compared to what they had before! I respect that. But my team currently only uses Docker in CI and in cloud deployments rather than for local development, and I'm pretty happy with that.