Migrating from Docker Desktop to colima (2025 update)

In 2023 I migrated from Docker Desktop to colima on my macOS laptop. It has been great. I never really used the UI and colima / lima provided everything I needed. But time passed and I never updated, so let’s do that!

It’s 2025 now, and lima released a 1.0.0 version! colima also continued improving, of course, so it was time to update. There were a few things I was looking forward to with this update:

  • The vz vm type: this will use the native virtualization framework in macOS, and should result in lower CPU usage than qemu.
  • The virtiofs mount type: in my previous article I noted how the mount type needed tweaking in order to work with certain constructs such as doing chown inside the container on a mounted volume.
  • UDP port forwarding: lima added a new gRPC based forwarder which supports UDP! Alas it was too flaky in 1.0 and it got disabled in 1.0.1. colima forces the use of the SSH forwader, so I wasn’t able to test this yet.

Deleting the old setup

First we are going to upgrade all packages to their latest versions, so we can then delete the old vm and create a new one with fresh settings.

brew upgrade colima lima docker docker-buildx docker-completion docker-compose

Now let’s delete the old vm:

colima delete
limactl delete --force colima

For safety, let’s also remove any overrides we had made in our first setup:

rm -f ~/.lima/_config/override.yml
rm -f ~/.lima/_config/networks.yml

Creating the new vm

The simplest way to customize the lima vm that colima creates is by running colima start --edit. This will open your editor and allow you to customize it on the spot. The vm will be created after you save and exit the file. Make sure you set the following values:

  • Adjust the CPU cores, RAM and disk space to your liking
  • network: set address to true
  • vmType: set to vz
  • mountType: set to virtiofs

After the command returns and the vm is created we can check it was created as requested with colima status:

colima status
INFO[0000] colima is running using macOS Virtualization.Framework
INFO[0000] arch: aarch64
INFO[0000] runtime: docker
INFO[0000] mountType: virtiofs
INFO[0000] address: 192.168.106.5
INFO[0000] socket: unix:///Users/saghul/.colima/default/docker.sock

Looking good! Note the address might have changed from what you used to have. In my case it was 1921.68.106.2 before.

Next

This setup is working great so far. The one thing I hope gets fixed is UDP support. While it’s fixed in lima, it’s not currently possible to use from colima.

Leave a Reply

Your email address will not be published. Required fields are marked *