2017-08-11 120 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

問題解決了,當我把我的文件在我的主目錄。然後將其映射到我的容器中...

相關問題