如何使用Java 8在docker容器卷中写入CSV文件?

我正在与docker和文件系统斗争。 我想从我的Java应用程序在docker卷中编写一个文件。 主要目标是在同一台机器上运行的另一个应用程序可以读取该文件。

我阅读了相关的问题,但是我没有找到任何用java应用程序解决这个问题的答案。 有关如何做到这一点的任何想法?

在你的另一个问题的答案的基础上:

  • 如何使用Java 8在Docker容器中导入CSV?

那么你有两个需要共享文件系统的docker容器? 假设您的java应用程序是容器化的,请使用它来创建持久数据容器:

$ docker create -v /data --name mydata mydockerimage 

使用此数据容器运行容器化程序

 $ docker run -it --rm --volumes-from mydata mydockerimage create "/data/myfile.csv" $ docker run -it --rm --volumes-from mydata mydockerimage read "/data/myfile.csv" 

可以从数据容器中提取文件:

 $ docker cp mydata:/data/myfile.csv myfile.csv 

最后,您最终需要清理数据容器

 $ docker rm -v mydata 

更新

您尚未说明如何构建或使用Java程序。 我假设它是一个可写入或读取CSV文件的可执行jar:

 java -jar myjar.jar create "/data/myfile.csv" java -jar myjar.jar read "/data/myfile.csv" 

有关如何构建此类容器的示例,请参阅:

  • 如何为Java应用程序构建docker容器