Docker-Desktop 的替代品

Docker-Desktop 的替代品

Orcas are dolphins not whales

您可能知道也可能不知道 Docker-Desktop 已更改其订阅政策。目前,只有个人使用和小型企业可以免费使用 Docker-Desktop。更多关于官方博客的信息: https://www.docker.com/blog/updating-product-subscriptions/

如果您为不属于小型企业限制的公司工作,或者只是想要一些不同的东西,那么这里的 Docker-Desktop 是使用和安装替代方案的指南。

请注意,Linux 可以在不需要 Docker-Desktop 的情况下本机运行 docker 容器,因此如果您是 Linux 用户,只需卸载(或避免使用)它。

不过,对于 Mac 用户来说,有很多替代品可以替代 Docker-Desktop。这篇文章我们讨论了三种流行的替代方案:Podman、Rancher-Desktop 和 Colima。

请注意,卸载 Docker-Desktop 后,您构建或下载的所有图像都将丢失,并且此处提供的任何替代方案都不能重用。您只需要再次下载或构建这些图像。

牧场主桌面

GitHub: https://github.com/rancher-sandbox/rancher-desktop

Rancher-Desktop 是一款适用于 Mac、Windows 和 Linux 的桌面应用程序。它提供了一个本地 Kubernetes 和容器管理平台。与其他两个选项不同,它不仅可以运行容器,还可以开箱即用地运行 Kubernetes。

安装

要安装 Rancher-Desktop,只需在发布页面下载并安装与操作系统兼容的版本( https://github.com/rancher-sandbox/rancher-desktop/releases )

安装 docker 和 docker-compose:

 brew install docker docker-compose # 不要使用 CASK  
 apt install docker docker-compose

对于 Linux 用户

确保您可以访问 /dev/kvm
在某些发行版(例如 Ubuntu 18.04)上,用户没有足够的权限使用 /dev/kvm,这是 Rancher Desktop 所必需的。要检查您是否具有所需的权限,请在终端上运行:

 [ -r /dev/kvm ] && [ -w /dev/kvm ] || echo '权限不足'

如果它输出的权限不足,您需要将您的用户添加到 kvm 组。你可以这样做:

 sudo usermod -a -G kvm “$USER”

然后重新启动以使这些更改生效。

用法

打开 Rancher-Desktop 应用程序,允许管理权限创建新的 docker 上下文并等待它启动。

在 Kubernetes 设置中有几个选项可供选择:

  • Kubernetes 版本和端口
  • 启用/禁用 Kubernetes(禁用以节省资源)
  • 容器运行时(我们将选择 dockerd 与 docker-cli 一起使用)
  • 虚拟机 CPU 和内存

因为我们选择使用 dockerd,所以我们可以像往常一样使用 docker-cli 或 docker-compose 来构建和运行容器。

使用类似于以下的 docker 命令或 docker-compose 命令时,您可能会收到错误消息:

 无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。 docker 守护进程是否正在运行?

这是因为 Rancher-Desktop 创建了一个额外的 Docker 上下文,而不是更新默认值。如果是这种情况,请使用 docker context 命令:

 码头工人上下文列表

这将为您提供已配置上下文的列表。通常会有一个叫做rancher-desktop,所以运行下面的命令告诉docker-cli使用那个上下文,你应该很高兴。

 码头工人上下文使用牧场主桌面

科利马

GitHub: https://github.com/abiosoft/colima

Colima 是 Homebrew 和 Nix 上可用的容器运行时,以及二进制版本。它的设置非常简单,类似于 podman,并且可以使用 docker-cli 和 docker-compose 开箱即用。

安装

 # 使用自制软件  
 酿造安装科利马 # 使用尼克斯  
 nix-env -iA nixpkgs.colima

安装 docker 和 docker-compose:

 brew install docker docker-compose # 不要使用 CASK  
 apt install docker docker-compose

用法

要开始使用 2 个 CPU、2GiB 内存和 60GiB 存储的默认 VM 配置:

 汽车启动

自定义虚拟机:

 ## 创建具有 1CPU、2GiB 内存和 10GiB 存储的 VM  
 colima start — cpu 1 — 内存 2 — 磁盘 10

停止虚拟机:

 大肠杆菌停止

然后你可以像往常一样使用 docker-cli 或 docker-compose 来构建和运行容器。

类似于 Rancher-Desktop colima 创建一个额外的 Docker 上下文,而不是更新默认值。如果是这种情况,请使用 docker context 命令:

 码头工人上下文列表

这将为您提供已配置上下文的列表。通常会有一个叫做 colima,所以运行下面的命令来告诉 docker-cli 使用那个上下文,你应该很高兴。

 docker 上下文使用 colima

波德曼

Podman 是一个用于开发、管理和运行容器的无守护程序容器引擎。它适用于 Mac、Linux 和 Windows。
与其他两个选项不同的是,podman 没有使用 docker-cli,而是有自己的 CLI。好消息是,它就像 docker 一样工作。

尽管 podman 是 docker 的替代品,但 docker-compose 并不完全兼容,需要进行一些调整才能使用。不过,它的优势之一是 Podman 是无守护进程的。这意味着它可以在没有控制守护程序的帮助下生成容器,无论是作为 root 还是无 root。

安装

Podman 可用于 Homebrew、apt-get 等。

 冲泡安装播客  
 sudo apt-get -y 安装 podman

用法

第一次初始化虚拟机。

 podman 机器热度

您还可以自定义机器规格。例如,要创建具有 2 个 CPU 和 2 GB 存储空间的机器:

 podman 机器初始化 — cpus=2 — 磁盘大小=2

初始化完成后,您可以通过运行以下命令启动机器:

 podman 机器启动

现在,对于大多数操作,您可以使用类似于使用 docker 的 podman 命令。例如:

 podman ps ## 列出容器  
 podman run postgres ## 运行容器 postgres  
 播客构建。 ## 构建镜像

如果愿意,您可以为 podman 创建一个别名作为 shell 的 docker:

 别名 docker=subman

尝试了所有三个选项,我个人使用 Rancher-Desktop,因为它最简单,并且给我配置的麻烦最少。

如果您像我一样使用 TestContainers 运行 Java 集成测试,请查看 这个帖子 解释如何使用 Rancher 和 Colima 进行配置。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/33290/42371309

posted @ 2022-09-13 09:43  哈哈哈来了啊啊啊  阅读(4470)  评论(0编辑  收藏  举报