ネイティブアプリ vs Docker

ネイティブのQNAPアプリと同じアプリをDockerコンテナで実行する場合の利点について気になっています。

例えば、Emby Serverをマシンにqpkgとしてインストールしていますが、違いを確認するためにDockerでもセットアップしてみました。

それぞれの選択肢の長所・短所について議論を求めています。

一般的に、スタンドアロンアプリは通常オーバーヘッドが少なくなるはずです。ただし、それはどのように作成・実装されたかによります。QNAP専用でないバージョンを実行することで、アプリケーションに対してより柔軟性やコントロールを得られる可能性があります。結果は人によって異なります(YMMV)。

ネイティブアプリは管理者権限で実行されるため、Docker経由でアプリをインストールすることには大きなセキュリティ上の利点があります。(特にアプリがウェブに公開されている場合はなおさらです)

「いいね!」 2

私はいつもネイティブよりもDocker(ドッカー)を選びます。通常、アップデートがより良く、セキュリティやコントロールも優れており、バックアップやリストアもはるかに簡単です。さらに、別のシステムへのリストアもダウンタイムが数分で済みます。

ネイティブQNAPアプリ(QPKG)は、App Centerまたは手動パッケージインストールを通じて、QTS/QuTS heroオペレーティングシステムに直接インストールされます。私自身がこれを使う理由は以下の通りです:

  1. インストールが簡単(App Centerから)
  2. QNAPプラットフォーム上で確実に動作することが保証されている。
  3. サポートを受けやすい(ここやサポートチケットから)

ただし、QAプロセスのためにパッケージのアップデートが遅れることもあります。

Dockerについては:

  1. イメージはdockerhubから直接プルするか手動でビルドするため、アップデートが速い。
  2. Dockerのディスク/ストレージスペースの設定には、コンテナの知識が多少必要。
  3. DockerにGPUパススルーを計画する場合は、多少の学習が必要。

私のここでの使い方としては、「正式」な用途にはQPKGをリリースし、PoCやテストにはパートナーがプロジェクトを実行できるようにDockerを使っています。qnapsvd

そして、小さな機能がうまく動作していれば、開発者に正式なQPKG機能へ移行するよう依頼することもあります。

「いいね!」 1