繁体   English   中英

从 docker 容器访问主机扫描仪

[英]Access host machine scanners from docker container

我在 Linux 主机上使用 docker 运行 Alfresco。

由于其他原因,我必须将 Alfresco 与 docker 一起使用。 使用maven生成构建脚本 - 您可以在“从原型生成项目”部分的以下链接下找到说明。

我已通过 USB 端口将Brother DCP-J315W连接到我的 PC。

当我执行时:

scanimage -L

我得到以下结果:

device 'brother4:bus2;dev1' is a Brother *DCP-J315W USB scanner

在 docker 容器中执行相同的命令会返回发现任何扫描仪的错误。

我尝试使用host网络模式运行容器,但这似乎毫无意义,因为它不是网络扫描仪。

有没有办法在 docker 容器中使用主机扫描器?

即使 Docker 容器可以看到扫描仪,您仍然需要能够从扫描仪读取扫描文档并将其放入存储库的软件。 与其解决 Docker-has-no-access-to-host-hardware 问题,或许更好的方法是通过 WebDAV 将 map 驱动到 Alfresco。 这使用 HTTP/S,所以连接应该没有问题。

有了这些,您应该能够在主机上运行扫描软件并告诉它将扫描的图像存储在已安装的驱动器中。

另一种方法是检查您的扫描软件是否支持 CMIS,这是使用 Alfresco 等内容存储库的行业标准。 如果是这样,您可以将扫描软件指向 Alfresco CMIS 服务 URL。 这种方法可能比安装驱动器方法更好,因为如果您将元数据分配给扫描的文档,则可以通过 CMIS 将元数据写入 Alfresco 中的对象,而直接文件安装只会将文件写入存储库而无需额外的元数据.

除了杰夫波茨回答:

只有极少数扫描仪软件解决方案支持使用 http/webdav/cmis 进行传输。 我根本不建议直接扫描到 Alfresco。 大多数扫描仪软件解决方案都希望在文件共享或本地文件系统中完成最终图像/pdf 之前写入/更改/删除多个文件。 直接写入 Alfresco 可能会导致至少很多不需要的二进制内容在存储库中清理之前保留数周,或者在最坏的情况下根本无法工作。

相反,我建议您将扫描仪连接到任何操作系统,将文件写入临时本地文件夹,然后一个简单的 cron 脚本可以将超过一分钟的扫描文件上传到 Alfresco 文件夹中。 这也将允许通过 OCR 过程例如 pipe 文档,以允许在 Alfresco 中搜索文档。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM