首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用非远程调试访问jarfile停靠程序。

无法使用非远程调试访问jarfile停靠程序。
EN

Stack Overflow用户
提问于 2021-05-05 14:58:07
回答 2查看 327关注 0票数 0

我从distroless/java:8转换为distroless/java:8调试容器,当部署到kubernetes时,我开始得到以下错误:错误:无法访问jarfile /MyApp-0.1.jar

这是我的Dockerfile:

代码语言:javascript
复制
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"]

当我使用常规的无震区(其他一切都一样)时,我没有这个问题。有趣的是,当我尝试在本地运行这个Dockerfile时,我不会得到这个错误。这是什么许可问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-05 15:44:01

我重新部署了,现在起作用了。唯一合乎逻辑的解释是,我尝试首先使用非根的,当我切换到根的时候,一些非根的豆荚仍然存在,造成了这个问题。

票数 1
EN

Stack Overflow用户

发布于 2021-05-05 15:41:25

根据我从这个构建脚本中收集到的内容:https://github.com/GoogleContainerTools/distroless/blob/main/java/BUILD

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

此外,您也可以尝试从容器本身运行应用程序。运行类似于此的代码:

码头运行-it --entrypoint sh my-api

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67403811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档