FreeBSD JailsまたはDockerインスタンス


18

FreeBSDのjailとLinuxのDockerの主な違いは何ですか?一方は他方よりもかなり安全ですか、それともパフォーマンスが高いですか?刑務所はDockerインスタンスよりもずっと古いため、コード自体はより安全であると考えることができます。しかし、Jailsは決して「追いつかない」ので、おそらくDockerインスタンスほど良くありませんか?それとも、LinuxがFreeBSDよりもずっと人気があるというだけの理由ですか?

回答:


24

FreeBSDの刑務所とLinux Dockerのいくつかの側面、それらがどのように類似しているか、どのように異なっているかについて説明します。

  • 両方が同じ目標を果たします。同じカーネルの下で分離および分離されたコンパートメントでアプリケーションを実行する場合の軽量仮想化の実装であり、ここで類似性は終わり、違いが始まります
  • Dockerは、さまざまなパブリックまたはプライベートリポジトリから取得できる準備済みのバイナリイメージを実行するために主に使用されるツールです。ほとんどの人はこの方法でそれを使用します。少数の人が独自のリポジトリを作成し、それらのリポジトリにアップロードします。
  • FreeBSDの刑務所は、LinuxのLXCに似ています。これは、コンテナをゼロから作成する方法です。あなたはそれを作成し、そこにソフトウェアをインストールすれば、それはほとんどすべてです-FreeBSD内でFreeBSDとして扱うことができます。Dockerのように、そのコンテナーを単一のソフトウェアとしてエクスポートする簡単な方法はありません。反対に、FreeBSDを使用するほとんどすべての人々は、常にコンテナ内に(つまり、インストールされているベースシステムから)独自のFreeBSDを構築し、FreeBSD Portsシステムまたはソースからソフトウェアをインストールします。したがって、FreeBSDの刑務所は友好的ではなく、開始使用コストが高くなります。
  • LXCコンテナが永続的であるのと同じように、FreeBSDの刑務所も永続的です。すべての変更は、ブート間でそのまま残ります。私が言ったように、それは同じOS内のOSの一部にすぎません(ただし、ユーザーランドソフトウェアのバージョンは、FreeBSDカーネルでABIが維持されるまで異なる場合があります)。これは、変更をコミットできないことを意味します。変更は、作成後にコミットされます。
  • 上記のすべてから、FreeBSDコンテナがDockerのように同様のオーケストレーションレイヤーを持つことができない理由は明らかです。ポート公開、ボリューム、リンク、または異なる刑務所間のメタ接続はありません。ネットワークOSが提供するインターフェイスのみ:ネットワークソケット、UNIXソケット、一般的なマウントポイント。
  • もちろん、Dockerには何もないので、誰がFreeBSD刑務所内の誰と誰と通信できるかについての制限はありません。
  • FreeBSDではdockerの少なくとも部分的なサポートがあるため、FreeBSDでネイティブdockerイメージを実行できますが、Linuxは無料であるため、Linux互換性を介して実行されるため、それに反対することを強くお勧めします(そしてFreeBSDを本当に深く愛しています)いくつかの既知の制限を提供するレイヤー(FreeBSDカーネルモジュールで提供)。

FreeBSDのdockerの詳細については。以前は刑務所内で機能していました(二重分離を想像してください:))、FreeNASのメイン開発者がそのディストリビューションで使用したかったため、ポートとして可能になりました。ここだそれについて話して、そこから1品及びそのための古いwikiページを。それ以来、彼らはそれを維持することを止め、それはもう機能しないようです。次のコメントに続きます。
Vrakfall

以下は、FreeBSDでのDockerの状態について話している現在最後のフォーラム投稿です。私がここで落とした情報のいくつかについて、フィッシュフライの小道具があります。FreeBSDでdockerを仮想化Linux(bhyve、virtualboxなど)で実行し、まだ維持され動作しているクライアント専用ポートを使用して接続することで、依然としてthoを使用できます。結局、boot2dockerはもともとMacOSでdockerをそのように使用するように作られていました。
Vrakfall

また、MacOSはBSDの(恥ずかしい、、これは私の意見です)ポートであることがわかります。ただし、これらはすべて開発環境専用であり、本番環境で使用することはできません。これは、FreeBSDでの作業を続け、仕事/趣味/なんでもできるようにdockerを開発したい人向けです。
Vrakfall

ああ、私は言うのを忘れましたが、あなたがそれについて言及した、古いdocker-freebsdポートは確かにFreeBSDのLinuxulatorを使用していました
Vrakfall

パブリックイメージを実行したいだけではありません。たとえば、セキュリティを学ぶために無数の時間を費やしたくない場合は、dockerhubに移動して「hardened」と記述します。hub.docker.com / search?q = hardenedtype = imageから実行します。セキュリティの専門家でなくても、独自のFreeBSDコンテナをゼロから構築するのに比べて、生産性が大幅に向上します。ただし、同様の高速な代替ソリューションがある場合は、共有してください!:-)
inf3rno
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.