作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 docker 容器中运行了一个简单的 java 程序。
我在 windows 上使用了 Eclipse - 但我创建了 linux 容器(使用 windwos docker 桌面)
我使用 Powershell 启动容器
镜像创建成功
我看到了这个帖子,但它没有帮助我c++ program with docker .使用该答案中的解决方案时出现错误。
PS E:\Java\Test> docker run -v E:\Java\Test:\tt img \tt\in.txt
docker:来自守护进程的错误响应:OCI 运行时创建失败:container_linux.go:349:启动容器进程导致“exec:”\\tt\\in.txt“:$PATH 中找不到可执行文件”:未知。
FROM java:8
COPY hello.jar app.jar
CMD ["java", "-jar", "app.jar", "pkg.hello"]
public static void main(String[] args) throws Exception {
String fileName ="E:\\Java\\Test\\in.txt";
List<String> lines = Collections.emptyList();
lines = Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
Iterator<String> itr = lines.iterator();
while (itr.hasNext())
System.out.println(itr.next());
}
任何想法,谢谢
最佳答案
新的 Docker 文件
FROM java:8
COPY hello.jar app.jar
ENTRYPOINT ["java", "-jar", "app.jar", "pkg.hello"]
好的,经过大量试验和错误后,我找到了一种解决方案,可能不止一种。我想为像我这样不是很专业的人解释一下,
docker run -v ${pwd}:/data img
pwd(Win 上的当前目录)的全部内容与 in.txt 一起复制到数据目录。现在我的 java 程序应该在 docker 内运行,所以我需要更改硬编码路径。
String fileName ="data//in.txt";
肯定它在 Windows 上不起作用,因为我的文件夹中没有\data\in.txt。
String d = System.getProperty("user.dir");
File f = new File(d);
File filesList[] = f.listFiles();
for(File file : filesList) {
System.out.println("File name: "+file.getName());
System.out.println("File path: "+file.getAbsolutePath());
if (file.getName().equals("data")==true)
{
File filesList2[] = file.listFiles();
for(File file2 : filesList2) {
System.out.println("File name: "+file2.getName());
System.out.println("File path: "+file2.getAbsolutePath());
}
}
System.out.println(" ");
}
关于java - 如何从 docker 容器内的输入文件中读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63442283/
我是一名优秀的程序员,十分优秀!