Transitioning from Docker Desktop to Rancher Desktop: A Smoother Path for Development

Joseph Whiteaker
2 min readJul 7, 2023

--

In the realm of containerization, the choice of tools can significantly impact your workflow. If you find yourself working with Windows and Windows Containers, feel free to disregard this article. However, if you’re using WSL (Windows Subsystem for Linux), Linux, or macOS, and currently relying on Docker Desktop, it’s time to reconsider your approach.

Docker Desktop is undeniably a user-friendly tool that simplifies Docker usage and offers a pleasant Developer Experience (DX). Yet, it has a crucial drawback: it’s proprietary software. This proprietary nature can pose challenges, especially for large enterprises and businesses that prioritize open-source tooling. Relying on software over which you have no control, with limited visibility into its inner workings, can be a risk.

For companies built on open source principles, the ability to contribute to the tooling ecosystem is invaluable. An employee can take an hour or two to submit a Pull Request (PR) to an open-source project, ensuring that any encountered bugs or issues can be addressed collectively.

So, what’s the alternative? Enter Rancher Desktop — an open-source desktop tool that offers an impressive array of features. It allows you to run Docker, Docker Compose, kubectl, and Helm seamlessly. Additionally, Rancher Desktop provides the option to use nerdctl, a lightweight alternative to Docker, and allows customization of the Kubernetes API, a feature appreciated by those working extensively with Kubernetes.

One standout feature of Rancher Desktop is its cluster dashboard. This feature aligns your local development workflow as closely as possible with your production workflow, bridging the gap between development and deployment environments. While it may not match the power of running the Rancher Docker image, the cluster dashboard is more than sufficient for local image development.

For those looking to run containers on their desktops without the complexities of Kubernetes, consider installing Portainer. Portainer simplifies container management and orchestration, whether locally or in a production environment. This powerful tool enables you to manage Docker images on multiple VMs, streamlining the process of pushing Docker images to VMs and circumventing the need for Kubernetes when initially setting up your application architecture.

To get started with Portainer, you can use the following Docker Compose file:

version: '3.7'

services:
portainer:
image: portainer/portainer-ce:latest
container_name: portainer
restart: unless-stopped

privileged: true
security_opt:
- no-new-privileges:true
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- portainer-data:/data
ports:
- 9445:9443
- 8010:8000

volumes:
portainer-data:

This configuration should suffice for local use. If you intend to run it on a VM, consider modifying the listening ports to 443 (HTTPS) and 80 (HTTP) unless you plan to use an Nginx or Apache configuration for routing multiple applications.

In summary, transitioning from Docker Desktop to Rancher Desktop, complemented by Portainer for container management, can enhance your development experience while ensuring open-source principles and greater control over your tooling ecosystem. It’s recommended that you explore these alternatives firsthand to truly appreciate the advantages they offer.

--

--