4 ms·
VMs through things like Docker for Mac, in our case. And yes - it’s exactly the same as you can do if you use x86 servers and dev machines. It’s just the fact
by minimaul 3y ago
VMs through things like Docker for Mac, in our case.
And yes - it’s exactly the same as you can do if you use x86 servers and dev machines.
It’s just the fact that we can also do this for ARM on hardware that doesn’t suck that makes using ARM in production more practical for us.
- bravura 3y agoSorry I missed the details: "Does that mean you're all running asahi linux or are you somehow running linux elf binaries on macOS?" So you're running whatever linux districtuion you want or some particular flavor through Docker on Mac? And you don't have ELF binaries because you're using precompiled packages for ARM and don't need weirdo prebuilt ELFs, or you have a workaround?
- minimaul 3y agoWe deploy containers to production, and use variants of the same containers for local development - mostly Debian. Those containers contain a mix of custom built software and packages from the distro.
- Fnoord 3y agoDocker for Mac runs a full-blown Linux kernel last time I checked (Docker for Windows can use Windows containers). So whatever OS they run on the cloud (with OCI) these containers are going to work on the (very fast) M1/M2. The OS the Docker images are using is irrelevant. The OS running in the cloud is irrelevant. Only relevant factor is Docker for Mac as it means Linux kernel overhead. But this is offset by M1/M2. Clever setup!
- minimaul 3y agoExactly this. Plus as the Apple virtualisation framework now implements pretty standard virtual hardware - it uses virtio - we are finding things work vastly better in Docker for Mac - particularly as we can use virtiofs etc to pass files through from the host.
- happymellon 3y ago> Docker for Windows can use Windows containers I thought Windows containers never went anywhere. Interesting to hear that they are still a thing.
- thedougd 3y agoYes, but pretty much in the same sad state as they were a few years ago. We're running a few in production and next time we touch it we're replacing them with Windows Server Core EC2 instances built from baked images. Note on Linux containers: Running Linux containers on Windows requires the use of LinuxKit or WSL. Docker Desktop for Windows requires you switch modes between Linux container mode and Windows container mode as you can't run both simultaneously. A workaround is to install an additional Docker daemon inside the WSL environment. Most people are going to install Docker Desktop and use WSL in Linux mode. It's fine. Hopefully my facts are up-to-date.
- pjmlp 3y agoWindows containers have improved quite a lot in Windows 11.
- mschuster91 3y agoThe interesting thing is, how is Docker for Mac able to run x86 containers at speed when Apple's Developer Documentation for Rosetta says it can't be used for virtual machines? Or have they just embedded the QEMU on-demand translator with binfmt_misc in the ARM virtual machine and the M1/M2 is just powerful enough to make users not notice what's going on? [1] https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment https://developer.apple.com/documentation/apple-silicon/abou...
- minimaul 3y agoRosetta can be used to emulate individual processes inside a linux-based virtual machine - Apple provide tooling for this: https://developer.apple.com/documentation/virtualization/running_intel_binaries_in_linux_vms_with_rosetta https://developer.apple.com/documentation/virtualization/run...
- acdha 3y agoJust as an aside, the same process works painlessly with podman, too, if your employer is allergic to Docker. Maybe once or twice a year I get reminded that I’m not using x86 - and it sure is nice to work all day and finish with 60% battery.
- robbintt 3y agoIs this battery savings from using podman instead of docker for mac or using docker for max with M1/M2?
- acdha 3y agoRunning on ARM itself is a big power savings. Docker Desktop also had issues with CPU load which they might have improved since I stopped using it a couple of years ago. There were a bunch of GitHub issues starting around 2018 which were closed, moved, reopened, and it looks like it’s still a concern whereas with Podman I’ve been able to use it without thinking about it.