DockerとSnapの主な違いは何ですか?


85

最近のc't(残念ながらpaywalled)には、SnapとFlatpakに関する記事があります。

ここに画像の説明を入力してください

これはDockerに非常によく似ていますが、多くの概念は同じです。SnapとDockerの違いは何ですか?それらの異なるユースケースはありますか?

回答:


110

あなたは見つけるかもしれないコンテナキャンプで、「我々はアプリケーションのための純粋に別のコンテナを必要とするのはなぜ」マーク・シャトルワースの話をあなたの質問に関連します。彼は一般に、開始時にVM、コンテナ、Dockerについて語り、スナップを続け、それらが約9分でどのように適合するかを説明します。

  • 異なるタイプのコンテナは同じように見えますが、異なる目的に使用されます。
  • コンテナはカーネルレベルには実際には存在しません。さまざまな種類の幻想が可能です。独立して、コンテナが見るユーザー、ネットワーク、ディスク、プロセスに関する幻想を作成できます。
  • さまざまな種類のコンテナは、作成される幻想のさまざまなクラスに関するものです。
  • スナップは次のとおりです。
    • 不変ですが、基本システムの一部です。
    • ネットワークの観点から統合されているため、各コンテナーが独自のIPアドレスを取得するDockerとは異なり、システムIPアドレスを共有します。
    • 言い換えると、Dockerはそこに何かを提供します。Snapsはここで何かを与えてくれます。たとえば、デスクトップでは、スナップはその上にアプリを提供します。
    • スナップはシステムの残りを汚染することはできません。専用の箱に入っています。ただし、システムの残りの部分は(読み取り専用で)表示されるため、システムと対話したり統合したりできます。

Dockerと比較したさまざまなユースケースについて尋ねました。Snapsでできることはここにありますが、Dockerではできません:デスクトップアプリ。サードパーティはスナップを使用してデスクトップアプリを出荷でき、ユーザーはそれらを簡単にインストールおよび更新できます。Dockerコンテナは、(簡単に)画面上でユーザーとグラフィカルに対話したり、ユーザーのホームディレクトリからドキュメントを読み込んだり、ユーザーのWebカメラ経由でビデオ会議を提供したりすることはできません。スナップは許可されます(許可が与えられると)。

PPAを使用するよりも、これがどのように優れているかを尋ねるかもしれません。しかし、Dockerと比較すると、システムに依存関係を手動でインストールするよりもDockerの方が優れているかどうかを尋ねるようなものです。より良いのですが、Docker固有ではない別の質問でどのように回答するのが最適でしょう。


3
本当じゃない。Dockerは、デスクトップアプリケーションと対話できます(許可が与えられると)。github.com/jamrizzi/docker-gtk
ジャムRisser

2
これはWindows用のSandboxieのように聞こえます。サンドボックスプログラムは、ダイアログを開いてすべてのローカルファイルにアクセスできますが、書き込み時には、サンドボックスに書き込むだけです。
feedc0de

1
リンクするツールは、通常のドッカーとは何が違うのですか?x11ソケットは、特別なドッカーバージョンなしでドッカーにマウントできます。
feedc0de

1
それは、それはデモツールですないです
ジャムRisser

1
@jamrizziあなたがすることは、スクリプトでX11ソケットへのドッカーアクセスを単に与えることのように見えます。これは、ユーザーがこのプロセスに関与することとはまったく異なります(「Dockerはディスプレイにアクセスしたい。キャンセルまたは許可しますか?」ダイアログはどこですか?)
ThorbjørnRavn Andersen
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.