FreeBSD Jails或Docker实例


18

FreeBSD上的jail和Linux上的Docker之间的主要区别是什么?一个比另一个更安全或更有效吗?Jails比Docker实例更旧,因此可以认为代码本身更安全。但是Jails从不“追赶”,所以也许它们不如Docker实例好?还是仅仅是因为Linux比FreeBSD受欢迎得多?

Answers:


24

我将介绍FreeBSD监狱和Linux Docker的某些方面,它们如何相似以及如何不同。

  • 两者都有相同的目标:这是轻量级虚拟化的实现,当您在同一内核下的单独隔离隔间中运行应用程序时,相似之处到此结束,而差异开始
  • Docker是一种工具,主要用于运行可从各种公共或私有存储库中获取的准备好的二进制映像。大多数人都以这种方式使用它。更少的人构造自己的存储库,然后将其上传到这些存储库中。
  • FreeBSD监狱更像Linux中的LXC:这是一种从头开始创建容器的方法。您创建了它,然后将软件安装到其中,这几乎就是所有-在FreeBSD中可以将其视为FreeBSD。像在Docker中一样,没有简单的方法可以将该容器导出为单个软件。因此,几乎所有使用FreeBSD的人,总是在从头开始(即从安装的基本系统),从FreeBSD Ports系统或从源代码安装软件,在容器中构建自己的FreeBSD。因此,FreeBSD监狱不太友好,并且使用成本较高。
  • 就像LXC容器是持久性的一样,FreeBSD监狱也是持久性的。靴子之间的所有更改均保持不变。就像我说的那样,它只是同一操作系统中的一部分操作系统(尽管在FreeBSD内核中维护ABI之前,用户级软件版本可能有所不同)。这意味着您无法提交更改-创建更改后就提交
  • 从以上所有内容可以明显看出,为什么FreeBSD容器无法像Docker那样具有相似的编排层:没有端口发布,没有卷,没有链接或不同监狱之间没有任何元连接。只有网络操作系统提供的接口:网络套接字,Unix套接字,通用安装点。
  • 当然,关于谁可以在FreeBSD监狱中与谁进行通信没有任何限制,因为Docker中没有。
  • 您可以在FreeBSD中运行本机docker映像,因为FreeBSD至少对docker提供了部分支持,但是,由于Linux是免费的,因此我强烈建议不要这样做(并且我深深地喜欢FreeBSD),因为它们将通过Linux兼容性运行层(由FreeBSD内核模块提供)提供了一些已知的限制。

有关FreeBSD上docker的更多信息。它曾经在监狱中工作(想象双重隔离:)),FreeNAS的主要开发人员将其作为端口使用,因为他们想在该发行版中使用它。这是他们谈论一篇文章,以及有关它旧Wiki页面。从那时起,他们停止维护它,似乎不再起作用。下一条评论中有更多内容。
Vrakfall

这是当前最新的论坛帖子,谈论FreeBSD中的Docker状态。向Phishfry提供支持,以获取我在此处提供的一些信息。通过在虚拟化的Linux(bhyve,virtualbox等)中运行docker并使用仍可维护并正常工作的仅客户端端口连接到FreeBSD,仍可以在docker上使用docker 。毕竟,最初使boot2docker在MacOS上以这种方式使用docker
Vrakfall

我们知道MacOS是BSD的端口(可耻,咳嗽,这是我认为的一点)。但是,所有这些当然仅用于开发环境,绝不能用于生产。这适用于那些希望继续使用FreeBSD并能够为自己的工作/爱好/其他事情开发docker的人。
Vrakfall

哦,我忘了说,但是您提到了,旧docker-freebsd端口确实在使用FreeBSD的Linuxulator
Vrakfall

我不仅要运行公共图像。例如,如果我不想花无数小时来学习安全性,那么我会去dockerhub并写上“ hardened”:hub.docker.com/search?q= hardened& type=image并从那里运行一些东西。与没有安全专家而从头开始构建我自己的FreeBSD容器相比,它极大地提高了生产率。但是,如果您有其他类似的快速解决方案,请与我们分享!:-)
inf3rno
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.