ClamAVがインストールされているホストオペレーティングシステム(Ubuntu)があります。私はこのオペレーティングシステムでDockerコンテナを実行しています。コンテナはパブリックノードWebアプリケーションを実行しています。
このWebアプリケーションには、Dockerコンテナ内のフォルダにアップロードできるファイルアップロード機能があります。
フォルダは、ホストオペレーティングシステムからアクセスできるように「マウント」されます。
ウイルスをスキャンし、スキャン結果をDockerコンテナアプリケーションに報告する必要があります。その後、これらの結果が処理され、ユーザーに渡されます。
ファイルがこのフォルダにアップロードされたときにホストオペレーティングシステムに通知する最善の方法は何ですか?
私が考えた方法は次のとおりです。
ホストオペレーティングシステムはフォルダをポーリングして変更を確認します(好ましくない)。 Webアプリケーションは、一部のDocker「イベント」(または同様)を実行して、ホストOSに特定のサブフォルダをスキャンするように指示します(ファイルが特定のサブフォルダにアップロードされ、単純ではないため)。 Webアプリケーションでクリックされる特定のURLは、ホストオペレーティングシステムが何らかの方法で受信したときにホストオペレーティングシステムで何が起こるかをトリガします。これらの方法の一部または全部を達成できるかどうかは不明です。