我如何從 Docker Desktop 切換到 Colima

??DDEV?? 是一個(gè)開源工具,可以在幾分鐘內(nèi)輕松啟動(dòng)和運(yùn)行本地 PHP 開發(fā)環(huán)境。由于其每個(gè)項(xiàng)目的環(huán)境配置可以擴(kuò)展、版本控制和共享,所以它很強(qiáng)大和靈活。簡而言之,DDEV 旨在允許開發(fā)團(tuán)隊(duì)在其工作流程中使用容器,而無需復(fù)雜的定制配置。
DDEV 用靈活、現(xiàn)代、基于容器的解決方案取代了更傳統(tǒng)的 AMP 棧解決方案(WAMP、MAMP、XAMPP 等)。因?yàn)樗褂萌萜鳎珼DEV 允許每個(gè)項(xiàng)目使用任何一組應(yīng)用、Web 服務(wù)器版本、數(shù)據(jù)庫服務(wù)器、搜索索引服務(wù)器和其他類型的軟件。
2022 年 3 月,DDEV 團(tuán)隊(duì) ??宣布支持 Colima??,這是 macOS 和 Linux 上的開源 Docker Desktop 替代品。??Colima?? 是開源的,據(jù)所有報(bào)告顯示,它比其替代方案有所 ??性能提升??,所以使用 Colima 似乎是一個(gè)沒有問題的選擇。
遷移到 Colima
首先,Colima 幾乎是 Docker Desktop 的替代品。我說幾乎是因?yàn)樵趯⑺糜诂F(xiàn)有的 DDEV 項(xiàng)目時(shí)需要重新配置。具體來說,必須重新導(dǎo)入數(shù)據(jù)庫。解決方法是先導(dǎo)出數(shù)據(jù)庫,然后啟動(dòng) Colima,然后再導(dǎo)入。很簡單。
Colima 要求安裝 Docker 或 ??Podman?? 命令。在 Linux 上,它還需要 Lima。
Docker 默認(rèn)隨 Docker Desktop for macOS 一起安裝,但它也可以作為獨(dú)立命令使用。如果你想要 100% 純 Colima,你可以卸載 Docker Desktop for macOS,并獨(dú)立安裝和配置 Docker 客戶端。??完整的安裝說明可以在 DDEV 文檔站點(diǎn)上找到??。

容器技術(shù)棧圖片 圖片來源:(Mike Anello,CC BY-SA 4.0)
如果你選擇繼續(xù)使用 Colima 和 Docker Desktop,那么在命令行執(zhí)行 ??docker?? 命令時(shí),你必須首先指定要使用的容器。下一節(jié)將對(duì)此進(jìn)行更多介紹。
在 macOS 上安裝 Colima
我目前有一些本地項(xiàng)目使用 Docker,還有一些使用 Colima。當(dāng)我了解了基礎(chǔ)知識(shí),在它們之間切換就不難了。
- 使用 Homebrew?
?brew install colima?? 安裝 Colima - ?
?ddev poweroff??(為了安全起見) - 接下來,使用?
?colima start --cpu 4 --memory 4?? 啟動(dòng) Colima,??--cpu?? 和??--memory?? 選項(xiàng)只需執(zhí)行一次。第一次之后,只需要??colima start?? - 如果你像我一樣是 DDEV 用戶,那么你可以使用常用的?
?ddev?? 命令(??ddev config??、??ddev start?? 等)啟動(dòng)一個(gè)全新的 Drupal 9 站點(diǎn)。建議啟用 DDEV 的 mutagen 功能以最大化性能
在 Colima 和 Docker Desktop 之間切換
如果你還沒有準(zhǔn)備好使用 Colima,你可以同時(shí)安裝 Colima 和 Docker Desktop。
- 首先關(guān)閉 ddev:?
?ddev poweroff?? - 然后停止Colima:?
?colima stop?? - 現(xiàn)在運(yùn)行?
?docker context use default?? 告訴 Docker 客戶端你要使用哪個(gè)容器。默認(rèn)名稱是 Docker Desktop for Mac。當(dāng)??colima start?? 運(yùn)行時(shí),它會(huì)自動(dòng)將 Docker 切換到??colima?? 上下文 - 要繼續(xù)使用默認(rèn)(Docker Desktop)上下文,請(qǐng)使用?
?ddev start?? 命令。
從技術(shù)上講,啟動(dòng)和停止 Colima 不是必需的,但是在兩個(gè)上下文之間切換時(shí)的 ??ddev poweroff?? 命令是必要的。
Colima 停止時(shí),最新版本的 Colima 會(huì)將 Docker 上下文恢復(fù)為 ??default??,因此不再需要 ??docker context use default?? 命令。無論如何,我仍然使用 ??docker context show?? 來驗(yàn)證 ??default??(Docker Desktop for Mac)或 ??colima?? 上下文是否正在使用。基本上,術(shù)語 ??context?? 指的是 Docker 客戶端將命令發(fā)送到哪個(gè)容器提供者。
嘗試 Colima
總的來說,我喜歡我目前所看到的。我沒有遇到任何問題,而且基于 Colima 的網(wǎng)站看起來更快些(尤其是在啟用 DDEV 的 Mutagen 功能時(shí))。我肯定會(huì)預(yù)見自己在未來幾周內(nèi)將項(xiàng)目網(wǎng)站遷移到 Colima。


























