无法从docker中的挂载目录中读取文件

问题描述:

我正在开发一个接受图像(照片)作为用户输入的项目,使用命令行Tesseract-OCR在其上执行OCR,将结果存储在文本文件中作为“输入.txt“,然后使用java程序对此文件执行停止词删除。所有这些都应该在码头集装箱内完成。我已经在其中安装了Tesseract OCR来创建码头图像。我有StopWord-Removal Java代码。无法从docker中的挂载目录中读取文件

在我的项目,我已经安装主机操作系统的目录内码头工人形象“/作品”的目录,这样我可以从用户的主目录中获得“图像(照片)”直接,

docker run --rm -v `pwd`:/work -w /work ocr 

这里“ocr”是我的码头形象。我创建bash脚本,它调用Tessract-OCR,然后调用StopWordRemoval Java代码,如

#!/bin/bash 
    tesseract sample.jpg input 
    java StopWords 

的问题是,“正方体sample.jpg输入”的输出保存为“input.txt中”,但它是在java程序中不可访问,而如果我尝试使用相同的代码打开来自给定目录的其他文件,它正在工作。

将文件“input.txt”写入主机挂载目录或容器文件系统?我假设“input.txt”被成功写入。如果您可以尝试访问Java之外的文件“input.txt”来缩小问题,那将会很好。

+0

是的,文件被写入挂载的主机目录。我终于尝试了不同的方法,找到了一种方法。我在java中执行了shell命令。在我的程序中,我使用“cat input.txt”,其输出存储在BufferedReader中,后来我处理了该输出。 –