Rancher Desktop vs Docker Desktop: A Detailed Comparison
Desktop container tools are great for developers, DevOps professionals, and home labbers to get their feet wet with containers without having to spin up a virtual machine as a container host. When running containers in a desktop environment, I recommend two different solutions: Rancher Desktop and Docker Desktop. Rancher Desktop is the newcomer in this space, while Docker Desktop is the longtime choice for developers. Let’s compare Rancher Desktop vs Docker Desktop and see which one you should choose.
Table of contents
- Quick overview
- What is Rancher Desktop?
- What is Docker Desktop?
- Installing Rancher Desktop vs Docker Desktop
- Pulling images
- Comparing Container Management and Runtime Capabilities
- Comparing User Interface and Ease of Use
- Capability to run Kubernetes
- Integration with Development Environments
- Extensions
- Scanning for security vulnerabilities
- Volume mounts
- Rancher Desktop snapshots
- Community Support and Open Source Contributions
- Wrapping up
Quick overview
Feature | Rancher Desktop | Docker Desktop |
---|---|---|
Core Focus | Kubernetes-centric container management | Docker-centric container management |
Kubernetes Integration | Extensive support with easy version switching | Basic support, more focused on Docker integration |
Container Runtimes Supported | Multiple (Docker, containerd, runc) | Primarily Docker |
User Interface | Functional but with a steeper learning curve | Highly user-friendly and intuitive |
Integration with Development Environments | General support for major IDEs | Strong integration, especially with Visual Studio Code |
Resource Management | Often requires more resources due to Kubernetes | More flexible in resource usage |
Community and Support | Growing community, open-source contributions | Large, well-established community and support |
Operating System Compatibility | Windows, Linux, Mac | Windows, Linux, Mac |
Ease of Setup | Requires more setup, especially for Kubernetes | Easier and quicker to set up for Docker environments |
Advanced Features | Advanced Kubernetes features and settings | Docker Compose and simple container management |
What is Rancher Desktop?
Rancher Desktop has gained momentum because it provides many great features and capabilities. Like Podman Desktop, it is often sought out as a Docker Desktop replacement. One of the strengths of Rancher Desktop is its design around a Kubernetes cluster. Kubernetes is the standard in container orchestration. Rancher Desktop was designed to allow developers to have a local development environment that mimics Kubernetes production environments.
This focus shows as it contains load balancing via Traefik and the ability to expose the microservices underneath the hood in the Kubernetes cluster.
One aspect where you can see this area of Rancher Desktop shine is in its ability to pick the Kubernetes version you run locally. Switching between Kubernetes versions allows tailoring the local development environment to the specific project needs. It also supports multiple container runtimes, including the standard Docker and others like containerd and runc, allowing you to run the same container runtime as in production.
You can also use the Docker command line interface and nerdctl, a Docker-compatible ish cli CLI. You can also build container images and run these custom images in your Rancher Desktop environment.
What is Docker Desktop?
Docker Desktop is an extremely familiar tool in the Docker community and has widespread adoption. At its core, Docker Desktop allows you to create containerized applications, manage these containers, and deploy them, making it a go-to solution for developers worldwide. In Windows, it makes use of Windows subsystem for Linux.
One of the strengths of Docker Desktop is its seamless compatibility with Docker Compose, a tool that simplifies running multi-container applications. Using Docker Compose, developers can define and share complex application environments using simple YAML files.
While we will say that Rancher Desktop has more/better focus on Kubernetes, you can also enable Kubernetes in Docker Desktop as well.
Installing Rancher Desktop vs Docker Desktop
The installation process between the two is quite easy. There is slightly more clicking to get through the Rancher Desktop installation and configuration, as you will be asked to configure your Kubernetes version, etc. Otherwise, both are non-eventful.
Below are a few screenshots just to give an idea of the process.
Docker Desktop installation
Docker Desktop basically installs without any clicking or prompts.
Rancher Desktop installation
Rancher Desktop has a more traditional “next, next, finish” type installer. Below is a look at the screeshots.
One unique thing about Rancher Desktop is that after you finish the first portion of the installer, it will ask you to configure Kubernetes. However, you can uncheck “Enable Kubernetes,” and it will start integrating with WSL without Kubernetes.
Also, you can choose between contained or dockerd. This will determine which command line tools you use. With containerd, you will use nerdctl, and with dockerd, you will use the normal docker commands.
After you make your selection, you will see the startup process for Rancher Desktop begin. You can begin working with the Kubernetes cluster with kubectl once you have started rancher desktop.
Pulling images
Both Rancher Desktop and Docker Desktop allow you to easily pull images. Docker Desktop has better integration with Docker Hub as you can imagine, and has the Artifcatory Hub that is “early access”. You can also add your own custom container image if you want in either tool.
Images in Docker Desktop.
Comparing Container Management and Runtime Capabilities
Let’s consider Rancher Desktop vs Docker Desktop when it comes to container management and runtime capabilities. Both platforms offer great tools for managing container images and runtimes but with differences.
Rancher Desktop’s approach to container management is more Kubernetes-centric for users who need to prioritize Kubernetes in their development. In contrast, Docker Desktop offers a more Docker-centric view for those who prefer the Docker ecosystem and Docker CLI tools.
Rancher desktop has the ability as shown in the above image to run contained and dockerd so provides flexibility in this area.
Comparing User Interface and Ease of Use
The GUI or UI plays a crucial role in just how much we either like or dislike any tool. Rancher Desktop has a simple user interface that provides the basics. You have many options to control and interface with the underlying Kubernetes installation. However, in recent versions, you can choose not to enable Kubernetes, which was not the case in earlier versions.
Docker Desktop also has an intuitive interface and definitely has more polish than Rancher Desktop from a GUI perspective. It is a great option for beginners, experts, and those seeking a quick setup for Docker-based projects. Keep in mind, you can also enable Kubernetes from the Docker Desktop interface as well.
Capability to run Kubernetes
When comparing Rancher Desktop vs Docker Desktop, the capability to run Kubernetes is Rancher Desktop’s bread and butter. The solution was originally designed with Kubernetes in mind and it shows. There are many features and capabilities you will find in Rancher Desktop, the most notable of which is the ability to choose the Kubernetes version to select the exact version you are running in your production environment.
You can also run Kubernetes in Docker Desktop. However, this is not really the strong suit of Docker Desktop. Not to say it doesn’t work well. There are just not as many options as with Rancher Desktop. With Docker Desktop you only get access to the version shown in Docker Desktop, which I believe is always the latest. You can’t choose the Kubernetes version.
Below is a result of running kubectl get nodes in Docker Desktop:
Below is what you see when running kubectl in Rancher Desktop:
Installing Kubernetes in Rancher Desktop (if you didn’t choose to install it during the initial setup).
Enabling Kubernetes in Docker Desktop which is as simple as a single checkbox. Note there is no way to select the Kubernetes version.
Integration with Development Environments
Integrating container tools with their preferred development environment is an important consideration for many developers. Docker Desktop unsurprisingly has an edge in this area with its strong compatibility with popular IDEs like Visual Studio Code. This integration allows for smoother workflows, especially when dealing with Docker commands and Docker Compose files.
Rancher Desktop is improving in this area and also integrates with Visual Studio Code with dockerd. Its focus remains on providing a comprehensive Kubernetes experience, which might appeal more to users looking for advanced Kubernetes features.
Extensions
Both Rancher Desktop and Docker Desktop include access to extensions. Extensions are great in both solutions and allow you to extend the native functionality included in both with third-party add-ons.
Extensions in Docker Desktop.
Extensions in Rancher Desktop.
Scanning for security vulnerabilities
Both tools have the ability to scan your container images for security vulnerabilities right from the GUI without any additional plugins or third-party tools.
Volume mounts
Both Rancher Desktop and Docker Desktop allow you to do volume mounts. I think Docker Desktop has an edge here, as you can see your volumes from the GUI. There is no volumes menu in Rancher Desktop like there is with Docker Desktop.
As shown below, Rancher Desktop doesn’t include volume management in the GUI. You can find Rancher Desktop volumes here if you are using WSL:
\\wsl$\rancher-desktop-data\var\lib\docker\volumes
Rancher Desktop snapshots
Both Rancher Desktop and Docker Desktop use virtual machines (VMs) under the hood to run containers. This approach ensures compatibility across different operating systems like Windows, Linux, and Mac.
One interesting feature I see with Rancher Desktop as well is the ability to create a Snapshot. What are snapshots in this context? The snapshot contains your underlying virtual machine (VM) configuration and all the associated settings. Another nice feature is that when you save a snapshot, it persists even after app restarts and upgrades. Also, even if you do a Factory Reset, you can restore a saved snapshot at any time.
Community Support and Open Source Contributions
Rancher Desktop is an open-source project. Being open-source, this encourages contributions and has a growing community focused on Kubernetes and container management.
Docker Desktop has a long-standing presence and also a vast and active community. The massive user base means there are many resources, tutorials, and external tools that can enhance Docker Desktop.
Wrapping up
In using both Rancher Desktop and Docker Desktop for quite some time, both are excellent tools. I think the bottom line is this. If you are more interested in Kubernetes development, Rancher Desktop is hard to beat, especially with the flexibility with choosing Kubernetes versions. However, if you are more interested in Docker containers and that is more your workflow, Docker Desktop remains the optimal tool for this purpose.
I used rancher desktop as a replacement for docker desktop when running some ITs in docker containers raised by fabric8 maven plugin. Gave up on it due to some segmentation fault errors I have when running some SQL initialization scripts on one of the containers(MacOS). The scenario is very far fetched but for me it was a show stopper. I’m not saying don’t use it, I’m saying there could be different behavior with the two.
Daniel,
Thank you for your comment! Definitely great insights. Were you trying with an early version? Wondering if some of the issues have been resolved since then? Thanks again, always good to get real-world perspectives from those that have tried the solutions.
Brandon