2017-08-11 124 views
0

我有一个需要解析数据集文件的java应用程序。我使用Docker容器化了应用程序,但容器没有在我的主机中看到我的文件。 因此,我需要以某种方式将其包含在码头容器内,或通过映射到我的容器中的码头容器使其可用。如何解析来自java docker容器应用程序的文件

的Java应用程序里面我有

String dataSet = "/usr/DataSet/TempData.txt"; // inside the container 
File textfile = new File(dataSet); 
Scanner sc = new Scanner(textfile); 

和我的文件存储在我的主机目录(/ home /名为myUsername /桌面/数据集)。

我使用maven中的spotify插件编译并构建了我的docker镜像。 我打造的形象后,我运行一个容器和地图包含我TempData.txt卷:

sudo docker run -it -v /home/myUserName/Desktop/DataSet:/usr/DataSet --name myapp myImageName bash 

,但我得到java.io.FileNotFoundException错误,因为该文件不可用在我的容器..

什么是让我的Java码头应用程序可以读取和解析它的文件的最佳方式是什么?

感谢您的意见!

+1

您将文件映射到'/ usr/DataSet',但是您在'/ usr/TempData'中搜索文件。 更改其中之一,它应该工作 –

+0

嗨,对不起,这是一个错字错误..确实我映射到同一目录...我编辑帖子! –

+0

我在另一个Ubuntu虚拟容器中测试了docker命令。它创建目录/ usr/DataSet,但没有文件可用! –

回答

0

问题解决了,当我把我的文件在我的主目录。然后将其映射到我的容器中...

相关问题