docker中的java应用程序如何在ubuntu 18.4上的挂载点中定位文件



我是Docker的新手。我有一个简单的Java应用程序在docker中运行。当应用程序尝试定位主机路径为/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中的COPY abc.json /myimagedir/不同
您需要使用copy命令将文件复制到所需位置。即

PD_3更多信息docker添加和复制命令

尝试将abc.json文件添加到Dockerfile所在的位置。然后命令将简单地为:

RUN mkdir /myimagedir

请注意,/myimagedir必须存在于COPY之前的图像中,COPY才能成功。如果它还不存在于你的图像中,你可以这样创建它:

CCD_5

最新更新