Java 无法使用distroless debug访问jarfile docker

Java 无法使用distroless debug访问jarfile docker,java,docker,kubernetes,deployment,jar,Java,Docker,Kubernetes,Deployment,Jar,我从distroless/java:8切换到distroless/java:8-debug容器,当部署到kubernetes时,我开始出现以下错误: 错误:无法访问jarfile/MyApp-0.1.jar 这是我的Dockerfile: FROM gcr.io/distroless/java:8-debug LABEL CONTAINER_NAME=my-api ARG JAR_FILE=MyApp/core/build/libs/core-0.1-boot.jar COPY ${JAR_FI

我从distroless/java:8切换到distroless/java:8-debug容器,当部署到kubernetes时,我开始出现以下错误: 错误:无法访问jarfile/MyApp-0.1.jar

这是我的Dockerfile:

FROM gcr.io/distroless/java:8-debug
LABEL CONTAINER_NAME=my-api
ARG JAR_FILE=MyApp/core/build/libs/core-0.1-boot.jar
COPY ${JAR_FILE} MyApp-0.1.jar
ENTRYPOINT ["java","-jar","/MyApp-0.1.jar"]
当我使用常规distroless(其他一切都一样)时,我没有这个问题。
有趣的是,当我尝试在本地运行这个Dockerfile时,我没有得到这个错误。这是权限问题吗?

根据我从这个构建脚本收集的信息:

这两个容器是相同的。只有调试一个包含java编译器

此外,您可以尝试从容器本身运行应用程序。运行与此类似的操作:

docker run-it--entrypoint sh my api


在容器内运行whoami验证用户是否为root用户,因此不应存在任何限制

我重新部署了它,它现在正在工作。唯一合乎逻辑的解释是,我首先尝试使用非根1,当我切换到根1时,一些非根的pod仍然存在,导致了问题