2017-10-10 44 views
-1

我有安装了ClamAV的主机操作系统(Ubuntu)。我在这个操作系统上运行一个Docker容器。该容器正在运行一个面向公众的节点Web应用程序。来自Docker容器web应用程序的主机操作系统触发事件

此Web应用程序中存在上传到码头集装箱内的文件夹的文件上传功能。

该文件夹被“挂载”,以便可以从主机操作系统访问该文件夹。

它需要扫描病毒,然后需要向Docker容器应用程序报告扫描结果。这些结果将被处理并转发给用户。

什么是让主机操作系统知道文件何时上传到此文件夹的最佳方式?

已经在我脑海中消失的途径有:

  • 主机OS轮询的文件夹改动检查(不可取)。
  • Web应用程序触发某些Docker“事件”(或类似),告诉主机操作系统扫描特定的子文件夹(因为这些文件将被上传到特定的子文件夹,并且不会变得平坦)。
  • 一个特定的URL在网页应用程序中被触发,然后在主机操作系统上触发某些事情,因为它以某种方式或其他方式监听。

不知道是否有这些方法或所有这些方法都可以实现。

+1

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。 – jww

回答

0

消息/作业队列怎么样?为了简单起见,可以使用Redis的PubSub功能(而不是RabbitMQ等)并创建另一个运行Redis的Docker映像,并将Redis的端口暴露给节点映像和主机。然后,Node可以将有关文件上传的消息写入Redis,然后主机上的工作人员/侦听器可以处理该消息。为了回报,可以在相反的方向上使用类似的方法,即主机上的工作者写入(另一个)图像中的工作人员使用的Redis通道。

相关问题