在 OS X 上使用 Chroot、容器或虚拟化进行安全开发

在 OS X 上使用 Chroot、容器或虚拟化进行安全开发

在提出问题之前,我想先提供一些背景信息:

我已经在 Windows/Linux 上工作多年了,最近我对 WSL2 很感兴趣。

我的 Windows 机器功能不强大,运行 Docker 消耗了 70% 以上的 RAM,而 WSL2 仅消耗 5%,所以我已经习惯避免使用 docker,尽管我仍然喜欢它并在 Linux 上启动时使用它。

我“需要” WSL 或 Docker 的原因是为了保持系统清洁。我经常在命令行上进行实验,并且安装了很多应用程序进行测试。Windows 很快就会变得混乱,安装和卸载应用程序后会留下很多残留物和垃圾。Linux 稍好一些,但好不了多少,最近我刚刚因为安装了 Wacom 驱动程序而弄坏了我的 wifi 驱动程序……拥有多个“工作区”、在 WSL 或 Docker 上创建不同的“容器”、连接、工作、安装、分离,这些都让我受益匪浅,而我的系统却丝毫未受影响。:)

因为我的笔记本电脑快要坏了,所以我决定试试 MacBook,所以我买了一台 M1 Air,它将在几天后交付,所以我正在做好准备。

抱歉,有些问题听起来很荒谬:

  • 如何在 MacBook 上拥有“安全”的开发环境?
  • 有没有像 WSL for Mac 那样轻量级的东西?还是 Docker/Podman 才是最佳选择?
  • chroot 足以创建可用的“子系统”吗?是否可以使用一些小型 OS 映像(如 Alpine)创建 Chroot?

(我知道 chroot 使用实际内核,与虚拟化不同,因此不可能运行“其他操作系统”,但如果有一些使用 Mac 内核或兼容的东西的操作系统映像,它就可以工作,对吧?有这样的操作系统/映像吗?)

  • 是否可以在 Mac 中的任何容器中安装 BSD?

还有其他工具或解决方案可以保持我的系统清洁和安全吗?

我听说过 Vagrant,但我不确定它是什么,我正在搜索它,但我很难找到任何其他替代工具...Docker 总是出现在我的搜索中,我不确定是否有其他适合 Mac 的好/更好的替代品。

感谢您花时间阅读本文!

编辑:看起来我可以使用 xhyve,它非常快(至少 bhyve 是这样的),我可以用它来创建 FreeBSD 虚拟机。但我不确定它是否是最好的选择,我会等待任何贡献/建议,我将在本周晚些时候尝试使用 xhyve。

答案1

一些想法:

Podman 实验性新功能

引自发行说明2021 年 6 月发布的 Podman 3.2.0:

添加了一组实验性的新命令 podman machine,用于帮助管理包含 Podman 服务器的虚拟机。这些命令旨在通过创建用于运行 Podman 的 Linux VM 来简化 Podman 在 OS X 上的使用。

另请参阅手册页podman machine start http://docs.podman.io/en/latest/markdown/podman-machine-start.1.html


Lima

https://github.com/lima-vm/lima

Lima 的目标是向 Mac 用户推广包括 nerdctl(contaiNERD ctl)在内的 containerd,但 Lima 也可以用于非容器应用程序。

Lima git 存储库中的第一个 git 提交来自 2021 年 5 月。

介绍利马的博客文章: containerd 和 Lima:Mac 版 Docker 的开源替代品

Nerdctl(通过 Lima 使用)

引自: https://github.com/containerd/nerdctl

与 Docker 兼容的 containerd CLI,支持 Compose

nerdctl git 存储库中的第一个 git 提交来自 2020 年 12 月。

相关内容