Introduction
Docker Desktop has become the go-to container management tool for developers since its release over a decade ago. However, as of August 31, 2021 (with a grace period back in January 31, 2022), Docker Inc changed their licence agreement for commercial usage, meaning that Docker Desktop is no longer free for enterprises to use. As a result, many engineers are now looking for alternative tools to manage their containers on macOS, Windows, and Linux.
UPDATE (October 2nd 2023):
On September 21st, OrbStack 1.0 was launched, featuring revised terms and pricing. It is no longer available for free if you use OrbStack “professionally as a freelancer, for a commercial or non-profit entity, or for a government entity, or if you generate more than Ten Thousand Dollars ($10,000.00 USD)”. The updated licensing terms are quite restrictive, providing little flexibility for those who wish to explore OrbStack without purchasing a license with a monthly cost of $8 USD (when opting for the Pro yearly discount), OrbStack is now less competitive compared to Docker Pro, which offers a monthly rate of $5 USD with a yearly discount. As a result, we no longer consider OrbStack a viable alternative when Rancher Desktop and Colima remain freely accessible options. Mentions of OrbStack have been revised to align with the updated pricing and our renewed evaluation and perspectives.
Summary
Fortunately, there are numerous options readily available in the market. Among these options, Rancher Desktop is our top recommendation. It provides a user-friendly GUI and is the most like-for-like replacement. If you prefer non-GUI-based tools on macOS, Colima is an excellent choice. For those who crave a more advanced setup without a daemon, the Podman ecosystem is a perfect solution. Additionally, OrbStack is a newly emerging offering that is worth considering but is not free to use. For those on Linux or using WSL2 on Windows Docker Engine is still freely available, and your most stable and preferred option.
Mantel Group tech vitality background
The decision to investigate alternatives to Docker Desktop was spawned by the 2022 Mantel Group Tech radar, which is run as part of the Mantel Group approach to tech vitality. The team looked into the container runtime ecosystem to identify which tools or platforms could replace Docker Desktop with a functional equivalent, enabling the ability to build and run containers locally and manage images.
Options Explored
The initial investigation revealed an ever-growing landscape of container runtime tools, including runc, podman, buildah, jib, Colima, containerd, kaniko and more. Each tool aims to improve the experience of a specific set of use cases or solve particular problems within the container ecosystem. To minimise the review and recommendations, the team focused on tools that replace or mimic Docker Desktop for local usage with minimal to no changes required. These use cases included the ability to build containers using Dockerfile syntax, run existing images using Docker-like CLI, be compatible with Docker Compose, Open Container Initiative (OCI) compliant, and be mindful of different operating systems.
The team installed the various tools locally, added them to their daily workflow of building and running containers from simple to complex, and used them with Docker compose and VSCode devcontainers. They recorded their pain points, errors, difficulties, and deal breakers and shared them with others within the organisation to identify if others had similar experiences or workarounds in the event of issues.
Insights and Learnings
The team found that on macOS, the Linux emulation layer was the source of many stability issues, with crashes and lock-ups occurring at all layers (within the CLI utility, QEMU/Linux OS, Host OS). The teams recently encountered a significant problem whilst using using Colima and OrbStack, as documented in pnpm issue #5803, specifically the occurrence of the “ENOENT: no such file or directory, copyfile…” error. Upon investigation, it has been observed that this issue is associated with the usage of VirtioFS with Colima and similar tools. However, by leveraging the mac virtualisation and gRPC fuse filesystem for Docker Desktop the issue was resolved. In this instance the only viable solution is to make use of Docker Desktop until such time that the underlying issue is resolved.
The constant evolution and maturity of the tools also caused frustration with frequent changes, often requiring engineer intervention and encountering breaking changes where operating system upgrades triggered a cascade of package changes and issues. Some solutions were not always performant within file system access or general operation, leading to engineer frustration and time wasted on setup instead of value work.
After much experimentation, the team concluded that, in the most general case, Rancher Desktop is the best option for users looking for a graphical front-end to manage Docker on macOS, Windows, or Linux. Rancher Desktop offers a similar GUI experience to Docker Desktop, and a bundled Kubernetes server can be switched on or off like Docker Desktop. Colima is a good option for macOS users who don’t need a GUI and offers a way of running containers with minimal setup and is implemented by Lima, a Linux on Mac provider.
For engineers who prefer a daemonless approach, the Podman ecosystem is an excellent option. It is architected around a daemonless approach, which addresses the security concerns of the Docker daemon. Podman is a full redesign of the approach to containerisation, which makes it different from the previous two options, Rancher Desktop and Colima, which implement Docker-like solutions. Podman Desktop is available for GUI experience, and other GUIs are also available. Podman is championed by Red Hat and could be the future of containerisation once it’s stabilised.
OrbStack showed up on the team’s radar late in the review cycle and is a promising option for users to consider. It’s fast, lightweight, and was free to use while in beta but is now $8 USD (when opting for the Pro yearly discount).
For Linux and Windows users with WSL2 (Windows Subsystem for Linux), using the Docker Engine is still the recommended option, as it provides the best experience for running and managing containerised applications. WSL2 allows users to run a full Linux kernel on Windows, which means they can use Linux-based tools and applications, including Docker.
Next Steps and Thoughts
It’s important to note that at this time there’s no one-size-fits-all answer when it comes to choosing the right container management tool to replace Docker Desktop. The best advice depends on your specific usage and needs. The container runtime landscape is still evolving and changing weekly, and we continue to keep an eye on the landscape and aim to perform another high-level review in six months, sharing our updated experiences with the wider community.
While Docker Desktop may no longer be free for enterprises to use, Rancher Desktop, Colima, the Podman ecosystem, and OrbStack provide similar functionalities, albeit with some caveats. Engineers should carefully assess their needs, usage, and discuss with peers before choosing a local container management tool that fits in their environment and workflow.
Final Consideration around cost
We would like to offer some alternative considerations regarding the Docker pricing, which currently ranges from $5 USD to $24 USD (approximately $8 to $35 AUD per month), as of June 20th, 2023. As software development involves not just monetary tooling costs, but also time and effort to manage the necessary tooling effectively, it is important to take a holistic view of costs. After some rough calculations, we estimate that the time cost per month for an average software engineer when paying for a Docker Desktop licence ranges from 15-40 minutes.
Based on our real world experience, when evaluating and using alternative container runtimes, some team members spent significant time troubleshooting, fixing, and managing these alternatives. These have also been shown not to be one off tasks but ongoing. Therefore, we believe that for some engineers and organisations, it may be more cost-effective to purchase Docker licences to enhance productivity and efficiency while alternative approaches stabilise. We recognise that each team’s requirements and circumstances are unique, and we encourage careful evaluation of all available options to determine the correct path now and into the future.