【问题标题】:Accessing folders in Windows 10 from a java application in a Docker container从 Docker 容器中的 Java 应用程序访问 Windows 10 中的文件夹
【发布时间】:2021-08-17 22:35:50
【问题描述】:

美好的一天!
我是 Docker 新手,真的需要帮助。
系统:Windows 10、Docker 桌面
应用程序:Java Spring-Boot 应用程序,根据一定的逻辑传输系统不同文件夹中的文件。包装在 Docker 容器中


问题:Java Spring-Boot 应用程序在 Windows 10 中看不到文件夹(任何,例如“我的文档”, “C:\Program Files”等等。 应用程序应从“C:\Users\Denis\Downloads”文件夹中获取文件并将其放入“C:\Users\Denis\Documents”文件夹中,
但我得到一个错误:java.lang.NullPointerException: null "文件夹不存在"

这是我的 Dockerfile:

FROM adoptopenjdk / openjdk8
ARG JAR_FILE = target / relocator.jar
WORKDIR / opt / app
COPY $ {JAR_FILE} app.jar
ENDPOINT ["java", "- jar", "app.jar"]


我需要向 Dockerfile 添加什么以及在“控制台”中执行哪些命令?请详细一点,因为我已经花了很多时间,但没有结果。 谢谢:)

【问题讨论】:

  • Docker 的主要设计目标之一是容器中的程序无法以您描述的方式访问主机文件。这个程序需要在容器中,还是可以直接在宿主系统上运行?
  • 您对 docker 的工作原理了解多少?

标签: java spring-boot docker windows-10 dockerfile


【解决方案1】:

docker 内的应用程序无权访问容器外的文件系统。为此,您需要将卷附加到您的容器。 此处描述了整个概念和操作方法:https://docs.docker.com/storage/volumes/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-29
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    相关资源
    最近更新 更多