將Windows的Docker Desktop換成Rancher Desktop

Windows Docker Desktop

第一次裝Windows Docker Desktop,桌面程式互動功能很強,但是用不到一個星期很想幹醮,穩定度有夠差的。遇到兩個致命問題:

  1. High CPU usage while Docker Desktop is running on Windows〉:CPU使用率有時莫明其妙吃到快100%,系統幾乎卡死,只能強制重開電腦。依網友討論結果,把「Automatically check for updates」關掉可能可以解決。
  2. Endless “Docker desktop stopping”〉:點開桌面程式常常沒有回應一直轉圈圈,此時無法關閉桌面程式,得用工作管理員強制關閉。有時會關不掉,Docker Desktop在工作管理員不斷出現,在工作管理員的Docker相關程式都要關閉才行。

尤其是第二問題,3~5天不定時發生,用到第三個星期受不了換成Windows Rancher Desktop。

Windows Rancher Desktop

在安裝時,其中兩項功能我個人選擇:

  • Container Engine:勾選dockerd(moby),使用Docker API和CLI。
  • WSL Network:勾選Networking Tunnel,不然容器外網可能被Windows防火牆擋掉而不通。可能是Bug(微軟的問題?)──〈host.docker.internal resolves to undefined on Windows 11〉。

本身內建一支rdctl CLI,方便控制桌面程式一些功能,例如建立快照、自動化、CI/CD等等。目前遇到的缺點是每次重開桌面程式,都要初始化來載入一些東西,速度比較慢,看下方進度條大概要40~50秒時間。

另一個問題算Bug(〈vm-switch/network-setup should honor debug mode settings〉),在1.13.1版遇到%localappdata%\rancher-desktop\logs\vm-switch.log檔案異常肥大,Docker跑個五天,檔案大小高達4.7GB,暫時解法是每次當容器重跑的時候刪除vm-switch便不再產生檔案,看到開發者回覆在1.14.0版有解。

使用約兩個星期,Rancher Desktop相比Docker Desktop是既輕量又穩定。

參考文章: