如何解决Docker中的Java应用程序如何在ubuntu 18.4上的安装点中定位文件
我是Docker的新手。我有一个在docker中运行的简单Java应用程序。当应用程序尝试找到主机路径为/mnt/share/abc.json的文件时,它将返回错误消息4:java.io.FileNotFoundException :(无此类文件或目录)。
实际上该文件存在于该位置。该应用程序帮助将文件上传到FTP服务器,文件abc.json是动态文件的示例。
请告知应用程序如何在容器中找到主机文件!非常感谢。
Docker文件如下所示
#
# Build stage
#
FROM maven:3.6.3-jdk-8 AS build
WORKDIR /home
COPY pom.xml .
RUN mvn dependency:go-offline
COPY src /home/src
RUN mvn -f /home/pom.xml clean package
#
# Package stage
#
FROM openjdk:8-jdk-alpine
COPY --from=build /home/target/*.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"]
解决方法
/mnt/share/abc.json
是您的系统,与Docker中的/mnt/share/abc.json
不同。
您需要使用COPY命令将文件复制到所需位置。即
COPY <file> <destination>
有关更多信息,docker add and copy commands
,尝试将abc.json文件添加到Dockerfile所在的位置。然后命令将简单地是:
COPY abc.json /myimagedir/
请注意,/ myimagedir必须在COPY之前存在于映像中才能成功完成COPY。如果图像中尚不存在它,则可以执行以下操作来创建它:
RUN mkdir /myimagedir
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。