如何从Docker Desktop转到Colima?

787 阅读3分钟

Colima是适用于macOS和Linux的Docker桌面替代方案,现在已被DDEV支持。

DDEV是一个开源工具,它使在几分钟内建立和运行本地PHP开发环境变得简单。由于它的每个项目的环境配置,它是强大和灵活的,它可以被扩展,版本控制和共享。简而言之,DDEV旨在让开发团队在他们的工作流程中使用容器,而不需要复杂的定制配置。

DDEV用一个灵活的、现代的、基于容器的解决方案取代了更传统的AMP堆栈解决方案(WAMP、MAMP、XAMPP等等)。因为它使用容器,DDEV允许每个项目使用任何一组应用程序、网络服务器的版本、数据库服务器、搜索索引服务器和其他类型的软件。

2022年3月,DDEV团队宣布支持Colima,这是一个用于macOS和Linux的开源Docker桌面替代品。Colima是开源的,根据所有的报告,它比它的替代品有性能上的提升,所以使用Colima似乎是一个没有问题的选择。

迁移到Colima

首先,Colima几乎是Docker Desktop的直接替代品。我说几乎是因为在现有的DDEV项目中使用它时,需要进行一些重新配置。具体来说,数据库必须被重新导入。解决的办法是首先导出你的数据库,然后启动Colima,再导入它。简单。

Colima需要安装Docker或Podman命令。在Linux上,它还需要Lima。

Docker默认与Docker Desktop for macOS一起安装,但它也可以作为一个独立的命令使用。如果你想100%的纯利马,你可以卸载Docker Desktop for macOS,并独立安装和配置Docker客户端。

An image of the container technology stack.

如果你选择继续使用Colima和Docker Desktop,那么当从命令行发出docker命令时,你必须首先指定你想用哪个容器。在下一节中会有更多这方面的内容。

在macOS上安装Colima

我目前有一些本地项目使用Docker,还有一些使用Colima。一旦我理解了基础知识,在它们之间切换就不难了。

  1. 为了开始,使用Homebrew安装Colimabrew install colima

  2. ddev poweroff (安全起见)

  3. 接下来,用colima start --cpu 4 --memory 4. 启动Colima。--cpu--memory 选项只需要做一次。第一次之后,只有colima start 是必要的。

  4. 如果你像我一样是DDEV的用户,那么你可以用通常的ddev 命令来启动一个新的Drupal 9网站(ddev config, ddev start ,等等。)建议启用DDEV的mutagen功能,以使性能最大化。

在Colima和Docker桌面之间进行切换

如果你还没有准备好切换到Colima批发,有可能同时安装Colima和Docker Desktop。

  1. 首先,关闭ddev的电源。ddev poweroff

  2. 然后停止Colima。colima stop

  3. 现在运行docker context use default ,告诉Docker客户端你想用哪个容器来工作。default 这个名字是指Docker Desktop for Mac。当运行colima start ,它会自动将Docker切换到colima 上下文。

  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。