当前位置: 首页 > 知识库问答 >
问题:

从Docker容器中的java应用程序访问Windows 10中的文件夹

慕阳文
2023-03-14

日安!
我是Docker新手,真的需要帮助。
系统:Windows 10,Docker Desktop
应用程序: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"]


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

共有1个答案

端木冷勋
2023-03-14

docker内部的应用程序没有访问容器外部文件系统的权限。为了做到这一点,您将需要将卷atache到您的容器。这里描述了整个概念和操作方法:https://docs.docker.com/storage/volumes/。

 类似资料:
  • 如何从Windows文件资源管理器访问Docker containers文件夹和文件?

  • 我有一个Spring Boot应用程序,它在9000端口本地运行(不在容器中)。应用程序已将致动器配置为Prometheus测微计,整个统计信息可通过URL localhost获得:9000/致动器/Prometheus。 我使用以下命令在Docker容器中运行Prometheus: 普罗米修斯。yml公司 命令返回以下内容: 我怎样才能解决这个问题? 感谢您的帮助!

  • Dockerfile文件 docker撰写。yml 我发射的命令是为了让这个起来 docker-compose-fdocker-compose.yml 之后我去了https://localhost:3000这个项目没有加载。这是可复制的回购协议https://github.com/reyanshmishra/My-Portfolio-ReactJS 谢啦

  • 问题内容: 我有以下用于docker文件的文件… 和弹簧配置… 一切似乎都开始文件,我明白了 我看到… 但是当我运行并在这样的浏览器中输入该地址时,出现超时错误。我知道我可以在运行时使用端口映射,但是有没有一种方法可以映射到我的本地主机呢? 我也尝试过这个… 因此它不是浏览器。 还试图像这样映射它… 0.0.0.0:8080->8080/tcp、9090/tcp 但是localhost:8080(

  • 我已经创建了一个docker映像来测试Angular应用程序,但是我无法在docker容器内从主机连接到正在运行的应用程序。 该图像是使用带有:EXPOSE 4200 8080 80的Dockerfile创建的 我使用命令运行docker容器:docker run-ti-p 4200:4200angulardev/bin/bash 在容器内部,我创建了Angular应用程序,并使用:ng serv

  • 问题内容: 我是Docker的新手。 我运行了一个10节点的图像,并在运行的容器中克隆了一个存储库,运行了使用文件监视程序启动服务器的应用程序。我需要访问容器内的代码库,并在Windows主机上运行的IDE中打开它。如果完成了,那么我还希望当我在IDE中更改文件时,这些更改会在容器中引起文件监视程序。 任何帮助表示赞赏。谢谢, 问题答案: 您正在寻找的概念称为卷。您需要启动一个容器并在其中安装主机