如何从一个Javadocker容器应用程序parsing文件

我有一个Java应用程序需要parsing一个数据集文件。 我使用Docker容器化了应用程序,但容器没有在我的主机中看到我的文件。 所以,我需要以某种方式将其包含在docker容器中,或通过映射到我的容器中的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插件编译并构build了我的docker镜像。 生成映像后,我运行一个容器并映射包含我的TempData.txt的卷:

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

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

什么是使我的Javadocker应用程序可以读取和parsing它的文件的最佳方式是什么?

感谢您的投入!

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