Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Recently I started using colima[0], a drop in replacement for Docker Desktop on Mac, and have seen an increase in performance and battery life. You can use all the normal docker and docker compose commands. It does not have a GUI but you can use the Docker extension on VS Code to have an overview of running containers.

[0]https://github.com/abiosoft/colima



Replaced Desktop with `colima` as well few months ago. I've been using it daily since then. I did not have any issue, sometimes I just delete / start a instance to upgrade the docker version, it only takes few minutes.

I like the fact that I decide when I upgrade, not Docker Desktop nagging me every week.


i wrote a quick howto a while ago for anyone looking to try this out https://www.swyx.io/running-docker-without-docker-desktop


Looking to convert, but I still can't understand how this is more performant. Docker Desktop has lots of engineering going into performance crossing the host/VM barrier. IIRC lima just pipes over SSH. How could that be faster?


Docker is an electron app which might explain some of the performance and battery differences. The containers don't run in electron but that extra copy of chrome is always running in the background.


It's quite trivial to have both installed and you can easily switch between Colima and Docker, I think it's worth testing it out.


I only use Docker Desktop for one thing - to see if one of my containers has accidentally started itself as amd64 instead of arm64. Sadly Colima doesn't seem to provide a way to do that.


Best part: it's QEMU so you can choose your CPU architecture and run x86_64 containers on ARM Macs


I've been telling my colleagues with M1 Macs to use the

  --platform linux/arm64
argument with Docker Desktop and that seems to be working for them.


x86_64 containers on ARM mac are extremely slow.


It seems this may get better soon, when they run via Rosetta 2 rather than QEMU(?)

https://github.com/docker/roadmap/issues/384


I found even with ARM Docker containers were already slow as it was.

I also never understood the justification for the added complexity it created, but I also don't have a dedicated ops team at my job to solve my problems.


Podman works the same way.


That works via qemu userspace emulation inside of VM so docker desktop has it too (might need to install qemu binfmt_misc hooks package)


my personal experience. Much earlier this year at work, we migrated everyone to colima and I had to support devs with their issues. So many small issues kept popping up, and was definitely not a drop in replacement for us.

The higher ups eventually let us just buy docker desktop and we are all happier now.


Exact same experience here to the point where I wasn’t sure if we worked together haha


Please help me understanding: Why is `brew install docker` not sufficient, why do you also need Colima or Docker Desktop? Is it so that there is a docker _daemon_ installed which `docker` doesn't ship with?


OSX dose not support running docker containers (or vis versa depending on your point of view). Instead you need a VM running Linux. Docker Desktop / Colima runs this VM for you.


I assume `brew install docker` just installs the docker CLI/etc, which can run on non-Linux OSes. However the docker daemon can only run on Linux, so something needs to setup a VM for it.


Homebrew handles this kinda poorly, so people are often confused. `brew install docker` installs the Docker CLI. `brew install --cask docker` installs Docker Desktop, and if you've permanently tapped homebrew-cask you'll get that instead of the Docker CLI.


omg that is terrible


Linux user here. It's not terrible. It's funny.


You are trying to be snarky at macOS users, but homebrew is BSD licensed…


Same. My requirements are very basic, so the switch to colima was basically seamless. I also appreciated being able to avoid Docker Desktop constantly trying to update itself (which is what ultimately motivated me to make the switch).

As a bonus, you can install the Docker CLI (e.g. `brew install --formula docker`) and use that to interact with any containers you start with colima.


Switched to colima a while back after the licensing debacle and have been mostly happy with it. Only real issue has been with some tools making assumptions about the docker socket location, which was easy to fix in the config file.


Thanks for sharing. I missed something like that. Docker is too enterprisy to my taste. I'm using VPS with docker right now which works good enough, but no volume mounts is not very nice.


Does anyone know if the networking lets you ping the docker vm directly?

Looks like there's an `colima start --network-address`. I just spent the day trying to get a docker vm I can ping directly.


It’s been a really doozy for me too, doubly so for local k8s in Docker (kind/k3s). I’ve tried a whole lot of variations, it’s hard and harder to scale across hundreds of devices.


Well the `colima start --network-address` lets me ping the VM and to use `--net=host`. Nice!


Sorry but off topic.

At what point did containerization begin to make sense for your workflow?


Not OP, but if it's helpful, I use containers for all 3rd party services I need to run for development. (e.g. Postgres, Redis, Localstack, etc). This makes it easy to onboard new developers as they just have to run `docker-compose up` and not worry about those. It also allows me to easily use different versions of those services in different projects or even branches of a project.


Same here, it's what I've been recommending as the alternative.


somehow colima and my corporate vpn (using vpnc) keep deleting each others routes (colima loses network access when you turn off vpnc) and neither podman machine nor rancher desktop have this issue.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: