Freelens: Taking back control of your Kubernetes clusters with a truly open-source desktop client
Managing Kubernetes clusters entirely from the command line is a rite of passage. We have all typed kubectl get pods
macOS users have several solid options for running containers, each with its own strengths. We review OrbStack, Lima (Linux Machines), and Docker Desktop, comparing their features, performance, and ease of use to help you choose the best fit for your development workflow. Whether you're a seasoned Kubernetes veteran
macOS users have several solid options for running containers, each with its own strengths. We review OrbStack, Lima (Linux Machines), and Docker Desktop, comparing their features, performance, and ease of use to help you choose the best fit for your development workflow. Whether you're a seasoned Kubernetes veteran or just starting your container journey, we'll explore which tool might be your new best friend for running containers in macOS.
Containers have taken the development world by storm, and for good reason. They package applications and their dependencies into neat, portable units, making it a breeze to move software between different environments without compatibility nightmares. This portability is a godsend for developers, allowing them to build and test applications in consistent environments that closely mirror production.
Docker Desktop has long been the go-to choice for running containers on macOS. Its user-friendly interface and tight integration with popular development tools made it a favorite among developers. However, recent changes to Docker Desktop's licensing, particularly for large organizations, have left some users searching for alternatives.
Two contenders have emerged, aiming to dethrone Docker Desktop and capture the hearts of macOS developers:

Let's break down the key differences between OrbStack, Lima, and Docker Desktop:
| Feature | OrbStack | Lima | Docker Desktop |
|---|---|---|---|
| Performance | Extremely fast, thanks to its Rust-based architecture | Good performance, but can vary depending on the virtual machine configuration | Good performance, but can be resource-intensive |
| Ease of Use | User-friendly interface and simple setup | Requires some command-line knowledge; more configuration needed | User-friendly interface and easy setup |
| Features | Built-in Kubernetes, Docker Compose support, port forwarding | Highly customizable, supports different Linux distributions | Comprehensive features, including Kubernetes support, image building, and vulnerability scanning |
| Cost | Free for personal use; paid plans for teams | Open-source and free | Free for personal use and small teams; paid plans for larger organizations |
The best container engine for your macOS development workflow depends on your specific needs and priorities:
To give you a taste of each option, let's walk through installing a simple web application using OrbStack, Lima, and Docker Desktop.
brew install orbstackRunning a Container: Once installed, open your terminal and run the following command to start an Nginx web server in a container:
orbstack run -d -p 80:80 nginx:latest
Accessing Your App: Open your web browser and navigate to http://localhost. You should see the default Nginx welcome page.
open http://localhostInstallation: Install Lima using Homebrew:
brew install limaCreating a Lima Instance: Create a Lima instance with Docker pre-installed:
limactl start --name=my-lima-instance template://docker
Connecting to the Instance: Connect to your Lima instance:
limactl shell my-lima-instance
Running a Container: Now, you can run Docker commands as usual:
docker run -d -p 80:80 nginx:latest
Accessing Your App: Since Lima runs in a virtual machine, you'll need to find its IP address to access your app. Run
# to find the IP address of your my-lima-instance
limactl list
# and then open it in your web browser
open http://$my-lima-instance-ip
Installation: Download the Docker Desktop installer from the Docker website and follow the installation instructions.
Accessing Your App: Open your web browser and navigate to http://localhost. You should see the Nginx welcome page.
Running a Container: Open your terminal and run the following command:
docker run -d -p 80:80 nginx:latest
The world of containers is constantly evolving, with new tools and technologies emerging all the time. While this article focused on OrbStack, Lima, and Docker Desktop, it's worth exploring other options like Rancher Desktop and Podman to find the perfect fit for your development needs.
The key is to experiment, try different tools, and choose the one that empowers you to build, ship, and run your applications with ease and efficiency. Happy coding!
Well, there is always another option, right? Podman Desktop also runs very well on macOS, read more:




Managing Kubernetes clusters entirely from the command line is a rite of passage. We have all typed kubectl get pods
Let’s face it: top is for the masochists, and htop is for the people who want to feel like