Containers

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.

Quick overview

FeatureRancher DesktopDocker Desktop
Core FocusKubernetes-centric container managementDocker-centric container management
Kubernetes IntegrationExtensive support with easy version switchingBasic support, more focused on Docker integration
Container Runtimes SupportedMultiple (Docker, containerd, runc)Primarily Docker
User InterfaceFunctional but with a steeper learning curveHighly user-friendly and intuitive
Integration with Development EnvironmentsGeneral support for major IDEsStrong integration, especially with Visual Studio Code
Resource ManagementOften requires more resources due to KubernetesMore flexible in resource usage
Community and SupportGrowing community, open-source contributionsLarge, well-established community and support
Operating System CompatibilityWindows, Linux, MacWindows, Linux, Mac
Ease of SetupRequires more setup, especially for KubernetesEasier and quicker to set up for Docker environments
Advanced FeaturesAdvanced Kubernetes features and settingsDocker Compose and simple container management
Rancher Desktop vs Docker Desktop

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.

Docker desktop installation process 1
The Docker desktop installation process 1

Rancher Desktop installation

Rancher Desktop has a more traditional “next, next, finish” type installer. Below is a look at the screeshots.

Beginning the rancher desktop installation process
Beginning the rancher desktop installation process
Set the installation scope
Set the installation scope
Ready to install rancher desktop after configuring the options
Ready to install rancher desktop after configuring the options
Completing the rancher desktop installation
Completing the rancher desktop installation

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.

Configuring the kubernetes installation of rancher desktop
Configuring the kubernetes installation of rancher desktop

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.

Pulling images using rancher desktop
Pulling images using rancher desktop

Images in Docker Desktop.

Image management in docker desktop
Image management 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:

Kubectl in docker desktop
Kubectl in docker desktop

Below is what you see when running kubectl in Rancher Desktop:

Kubectl in rancher desktop
Kubectl in rancher desktop

Installing Kubernetes in Rancher Desktop (if you didn’t choose to install it during the initial setup).

Kubernetes cluster installation in rancher desktop
Kubernetes cluster installation in rancher desktop

Enabling Kubernetes in Docker Desktop which is as simple as a single checkbox. Note there is no way to select the Kubernetes version.

Kubernetes installation in docker desktop
Kubernetes installation in docker desktop

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.

Extension marketplace in docker desktop
Extension marketplace in docker desktop

Extensions in Rancher Desktop.

Rancher desktop extensions
Rancher desktop extensions

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.

Scanning container images with rancher desktop
Scanning container images with rancher desktop
Scanning container images using docker desktop
Scanning container images using docker desktop

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.

Managing volumes in docker desktop
Managing volumes in 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
No volume configuration menu in rancher desktop
No volume configuration menu in rancher desktop

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.

Creating snapshots in rancher desktop
Creating snapshots in rancher desktop

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.

Subscribe to VirtualizationHowto via Email 🔔

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Brandon Lee

Brandon Lee is the Senior Writer, Engineer and owner at Virtualizationhowto.com and has over two decades of experience in Information Technology. Having worked for numerous Fortune 500 companies as well as in various industries, Brandon has extensive experience in various IT segments and is a strong advocate for open source technologies. Brandon holds many industry certifications, loves the outdoors and spending time with family.

Related Articles

2 Comments

  1. 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.

    1. 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

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.