TranslateProject/published/202209/20220915 How I switched from Docker Desktop to Colima.md

87 lines
5.5 KiB
Markdown
Raw Normal View History

2022-09-22 08:43:05 +08:00
[#]: subject: "How I switched from Docker Desktop to Colima"
[#]: via: "https://opensource.com/article/22/9/docker-desktop-colima"
[#]: author: "Michael Anello https://opensource.com/users/ultimike"
[#]: collector: "lkxed"
[#]: translator: "geekpi"
[#]: reviewer: "wxy"
[#]: publisher: "wxy"
[#]: url: "https://linux.cn/article-15084-1.html"
2022-09-22 08:43:05 +08:00
我如何从 Docker Desktop 切换到 Colima
======
![](https://img.linux.net.cn/data/attachment/album/202209/29/095328wj3ypm34pyyy3rrp.jpg)
2022-09-22 08:43:05 +08:00
> Colima 是 macOS 和 Linux 上的 Docker Desktop 替代品,它现在由 DDEV 支持。
2022-09-22 08:43:05 +08:00
[DDEV][2] 是一个开源工具,可以在几分钟内轻松启动和运行本地 PHP 开发环境。由于其每个项目的环境配置可以扩展、版本控制和共享所以它很强大和灵活。简而言之DDEV 旨在允许开发团队在其工作流程中使用容器,而无需复杂的定制配置。
DDEV 用灵活、现代、基于容器的解决方案取代了更传统的 AMP 栈解决方案WAMP、MAMP、XAMPP 等。因为它使用容器DDEV 允许每个项目使用任何一组应用、Web 服务器版本、数据库服务器、搜索索引服务器和其他类型的软件。
2022 年 3 月DDEV 团队 [宣布支持 Colima][3],这是 macOS 和 Linux 上的开源 Docker Desktop 替代品。[Colima][5] 是开源的,据所有报告显示,它比其替代方案有所 [性能提升][6],所以使用 Colima 似乎是一个没有问题的选择。
2022-09-22 08:43:05 +08:00
### 迁移到 Colima
首先Colima *几乎*是 Docker Desktop 的替代品。我说*几乎*是因为在将它用于现有的 DDEV 项目时需要重新配置。具体来说,必须重新导入数据库。解决方法是先导出数据库,然后启动 Colima然后再导入。很简单。
Colima 要求安装 Docker 或 [Podman][7] 命令。在 Linux 上,它还需要 Lima。
Docker 默认随 Docker Desktop for macOS 一起安装,但它也可以作为独立命令使用。如果你想要 100% 纯 Colima你可以卸载 Docker Desktop for macOS并独立安装和配置 Docker 客户端。[完整的安装说明可以在 DDEV 文档站点上找到][8]。
![容器技术栈图片][9]
2022-09-22 08:43:05 +08:00
*容器技术栈图片 图片来源Mike AnelloCC BY-SA 4.0*
2022-09-22 08:43:05 +08:00
如果你选择继续使用 Colima 和 Docker Desktop那么在命令行执行 `docker` 命令时,你必须首先指定要使用的容器。下一节将对此进行更多介绍。
2022-09-22 08:43:05 +08:00
### 在 macOS 上安装 Colima
我目前有一些本地项目使用 Docker还有一些使用 Colima。当我了解了基础知识在它们之间切换就不难了。
2022-09-22 08:43:05 +08:00
1. 使用 Homebrew `brew install colima` 安装 Colima
2. `ddev poweroff`(为了安全起见)
3. 接下来,使用 `colima start --cpu 4 --memory 4` 启动 Colima`--cpu` 和 `--memory` 选项只需执行一次。第一次之后,只需要 `colima start`
4. 如果你像我一样是 DDEV 用户,那么你可以使用常用的 `ddev` 命令(`ddev config`、`ddev start` 等)启动一个全新的 Drupal 9 站点。建议启用 DDEV 的 mutagen 功能以最大化性能
2022-09-22 08:43:05 +08:00
### 在 Colima 和 Docker Desktop 之间切换
如果你还没有准备好使用 Colima你可以同时安装 Colima 和 Docker Desktop。
1. 首先关闭 ddev`ddev poweroff`
2022-09-22 08:43:05 +08:00
2. 然后停止Colima`colima stop`
3. 现在运行 `docker context use default` 告诉 Docker 客户端你要使用哪个容器。默认名称是 Docker Desktop for Mac。当 `colima start` 运行时,它会自动将 Docker 切换到 `colima` 上下文
2022-09-22 08:43:05 +08:00
4. 要继续使用默认Docker Desktop上下文请使用 `ddev start` 命令。
从技术上讲,启动和停止 Colima 不是必需的,但是在两个上下文之间切换时的 `ddev poweroff` 命令是必要的。
Colima 停止时,最新版本的 Colima 会将 Docker 上下文恢复为 `default`,因此不再需要 `docker context use default` 命令。无论如何,我仍然使用 `docker context show` 来验证 `default`Docker Desktop for Mac`colima` 上下文是否正在使用。基本上,术语 `context` 指的是 Docker 客户端将命令发送到哪个容器提供者。
### 尝试 Colima
总的来说,我喜欢我目前所看到的。我没有遇到任何问题,而且基于 Colima 的网站看起来更快些(尤其是在启用 DDEV 的 Mutagen 功能时)。我肯定会预见自己在未来几周内将项目网站迁移到 Colima。
*本文最初发布在 [DrupalEasy 博客][10] 并经许可重新发布。*
2022-09-22 08:43:05 +08:00
--------------------------------------------------------------------------------
via: https://opensource.com/article/22/9/docker-desktop-colima
作者:[Michael Anello][a]
选题:[lkxed][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
2022-09-22 08:43:05 +08:00
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/ultimike
[b]: https://github.com/lkxed
[1]: https://opensource.com/sites/default/files/lead-images/coffee_cafe_brew_laptop_desktop.jpg
[2]: https://github.com/drud/ddev
[3]: https://ddev.com/ddev-local/docker-desktop-alternatives-arrive-for-ddev-colima/
[5]: https://github.com/abiosoft/colima
[6]: https://ddev.com/ddev-local/docker-desktop-and-colima-benchmarking-on-macos/
[7]: https://opensource.com/article/22/2/start-running-containers
[8]: https://ddev.readthedocs.io/en/stable/users/docker_installation/#macos-installation-colima
[9]: https://opensource.com/sites/default/files/2022-09/docker-desktop-colima.png
[10]: https://www.drupaleasy.com/news