如何解析java docker容器应用程序中的文件

时间:2017-08-11 11:49:56

标签: java maven docker containers spotify

我有一个需要解析数据集文件的java应用程序。我使用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 / Desktop / DataSet)中。

我使用maven中的spotify插件编译和构建我的docker镜像。 构建映像后,运行容器并映射包含TempData.txt的卷:

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

但是我收到了java.io.FileNotFoundException错误,因为我的容器中没有该文件。

将文件提供给我的java dockerized app以便能够读取和解析它的最佳方法是什么?

感谢您的投入!

1 个答案:

答案 0 :(得分:0)

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