4 ms·
After docker desktop became unusable, I jumped to colima and never looked back. I still use the docker runtime in it (the non-proprietary part) but it also supp
by drzaiusx11 3y ago
After docker desktop became unusable, I jumped to colima and never looked back. I still use the docker runtime in it (the non-proprietary part) but it also supports containerd. On Mac it's just a "brew install colima" and then "colima start"
I also install the compose and ecr credentials plug-ins (since I use ecr for my container registry.) It has the full functionality of docker desktop minus the UI, which I never used anyways.
https://github.com/abiosoft/colima https://github.com/abiosoft/colima
- aequitas 3y agoI've been using Colima for the past few months now instead of Docker for Mac and it's running great. Only issue I experience is that there is sometimes a delay after saving before files are synced to the container (using volumes), so when you run a test directly after saving it will still use the old file, or even worse, files that are still in transit, so you have to run your test again a few seconds later. Been using Orbstack now for a few days and it seems to not have the same file syncing issue, and is faster in every other regard compared to Docker for Mac or Colima.
- drzaiusx11 3y agoI haven't experienced any file write delays, have you filed a ticket against the project? My guess is you're talking about an in-container write with a host system read. My CI pipelines do this many times a day for code coverage and test results outputs. Those files are tiny though, so I wonder if it has to do with larger file sizes, or perhaps something external to your configuration like samba mounts that isn't playing well with qemus virtual network interface.
- gigatexal 3y agoI moved from the Mac platform for all the hoops you have to run though to run containers. On Linux I can do it without a VM. (I also hated window management — hello Sway — and the hardware is cheaper). I’ve moved from Docker to podman as well on Linux. Love it.
- magic_hamster 3y agoIsn't rosetta a sort of middle ground with pretty good performance?
- thfuran 3y agoDocker on Mac runs a Linux VM to put containers in. Rosetta doesn't get around that.
- kwkelly 3y agoNotable too that the VM it runs on Mac comes with qemu user mode emulation and uses binfmt_misc to run binaries for different architectures so obviates the need for Rosetta. Edit: to try this out compile a “hello world” binary to say arm64 and riscv64 and amd64 and run it all in the same container (be sure to statically link)
- drzaiusx11 3y agoKnew it used qemu but didn't know about binfmt_misc. Very cool. I guess that explains why my coworkers with m1 laptops can run our amd64 containers just fine without changes.
- drzaiusx11 3y agoIirc Docker Desktop uses a proprietary VM now, Colima and Podman Desktop use qemu, and I'm not sure about Orbstack (which has come up several times as a lighter weight alternative within this thread.)
- tacker2000 3y agoI tried to use colima instead of Docker Desktop several months ago on my Mac, but I ran into several difficult issues (i think relating to folder mounts) and gave up.
- tough 3y agoorbstack was nice
- drzaiusx11 3y agoI've been heavily using bind mounts and volumes in colima so it's likely fixed. I DID encounter bind mount issues in podman, but that was several months ago and might also be resolved. (Edit:typos)
- ShellfishMeme 3y agoFor MacOS I can really recommend https://orbstack.dev https://orbstack.dev It integrates very nicely, has very low CPU idle usage and also lets you quickly spawn VMs with bidirectional file sharing set up. Since I switched I haven't looked back.
- drzaiusx11 3y ago"no more complicated VMs" -orbstack Curious how this works without a VM, or have they created some sort of linux "shim", a la WSL1.x? If it's something like WSL1.x it means you're not actually "running linux", which may have subtle repercussions like differences in threading etc since it's really a Darwin system wearing a Linux suit. That said if you're writing a CRUD app in python, that probably won't matter to you so it's still worth the tradeoff.
- quinncom 3y ago“OrbStack uses a lightweight Linux virtual machine with a shared kernel to minimize overhead and save resources, similar to WSL 2 (Windows Subsystem for Linux). This flexible architecture comes with many advantages such as high efficiency, low resource usage, seamless integration with macOS, and more.” https://docs.orbstack.dev/architecture https://docs.orbstack.dev/architecture
- drzaiusx11 3y agoSeems they're maintaining an unpublished fork of the Linux kernel "linux-macvirt" to achieve this. Apparently you have to contact them directly for a copy of the code[1] https://github.com/orbstack/linux-macvirt https://github.com/orbstack/linux-macvirt
- mplanchard 3y agoWe tried to use podman at work (via nix) and ran into all kinds of confusing issues, especially in regards to docker in docker and CI builds. Swapped to using colima (again via nix) for the mac folks and regular docker engine for linux, and things have been much smoother. Definitely recommended if your podman setup is as difficult as ours was.
- drzaiusx11 3y agoWe also attempted to move to Podman, but it just wasn't ready at the time. Since colima works well for our use case (devs with MacBooks), we haven't had a compelling reason to try Podman again
- tecoholic 3y agoThanks for sharing this. I got a new M2 mac and installed Podman as I didn’t want the Docker Desktop as well. But ran into multiple issues and gave up and have been begrudgingly putting up with Docker Desktop. My main complaints are: * the builds fail randomly * containers don’t stop when I run docker compose stop from CLI So, I have to restart Docker Desktop a couple of times to reset everything. Does running the docker runtime with colima also gets into these issues?
- thanksgiving 3y agoPlease share this experience and what went wrong with the postman team. It is the only way things can improve. You don’t have to solve the problem. Just state your problem. If you need inspiration, here is an example: https://github.com/containers/podman-desktop/issues/868 https://github.com/containers/podman-desktop/issues/868
- misnome 3y agoI switched to Rancher Desktop which IIRC uses the same engine and haven’t had any compatibility issues with it.
- elbear 3y agoWhat is the compose plugin? I don't see a reference to it on the github page
- the-alchemist 3y agoIt's usually not referring to as a plugin, but as a standalone utility, i.e., `docker-compose` not `docker compose`. If you put the binary in that magic Docker plugins directory, it'll treat the binary as a plugin and let you do `docker compose`.
- drzaiusx11 3y agoNote that these are two different implementations, the standalone docker-compose has different cli arguments and is deprecated for the plugin (which is also a binary executable as you pointed out)
- drzaiusx11 3y ago"docker compose" is a golang rewrite of the old standalone "docker-compose" python script. [1] To install it's simply: $ mkdir -p ~/.docker/cli-plugins $ curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 https://github.com/docker/compose/releases/download/v2.23.0/... -o ~/.docker/cli-plugins/docker-compose 1. https://docs.docker.com/compose/install/linux https://docs.docker.com/compose/install/linux