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 版权协议,转载请附上原文出处链接和本声明