両方の概念がまったく異なることをよく読みますが、違いがどこにあるのかについての適切な説明を見つけることができませんでした. どちらも依存関係をバンドルし、外部との通信を制限します。
デプロイのためにアプリをコンテナーにパックする必要があるのはいつですか? カプセル化されたパッケージが望ましいのはいつですか?
両方の概念がまったく異なることをよく読みますが、違いがどこにあるのかについての適切な説明を見つけることができませんでした. どちらも依存関係をバンドルし、外部との通信を制限します。
デプロイのためにアプリをコンテナーにパックする必要があるのはいつですか? カプセル化されたパッケージが望ましいのはいつですか?
Flatpack は、FAQ に含まれる手がかりを提供します。
Flatpak はコンテナ技術ですか?
可能ですが、そうである必要はありません。デスクトップ アプリケーションをコンテナー内で実行する場合に使用できるようにするには、非常に広範な変更が必要になるため、Flatpak は、ほとんどのアプリケーションで時間の経過とともにサンドボックス化またはコンテナー化が段階的に導入され、初期の段階で便利なライブラリ バンドル テクノロジとして展開される可能性があります。
一般に、Flatpak について話すときはコンテナーという用語を使用しないようにしていますが、これは Docker や Rocket との比較を引き起こす傾向があるためです。比較は、これらのテクノロジーが対処しようとしている問題空間が大きく異なるため、技術的な意味をすぐに失います. したがって、サンドボックスという用語を使用することを好みます。
Flatpak は Linux に関連付けられていますか?
はい。Flatpak アプリが実行されているサンドボックスを作成するために、Linux カーネルの多くの機能 (バインド マウント、名前空間、seccomp など) を明示的に使用しています。些細な作業量であり、これを優先事項の 1 つとは考えていません。
コンテナーは、その runc/containerd プロトコルを実装するすべてのシステムで分離を提供することを目的としており、Linux だけでなく Windows でも間もなく提供される予定です。
これは、OS にかなり関連付けられているソフトウェアのパッキング形式とは異なります。
「Flatpak、Appimage、Snap – それらはどのようにスタックするのか?」を参照してください。