Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 谷歌云调试器可以';找不到作为云运行服务部署的Spring Boot web应用_Java_Spring Boot_Docker_Google Cloud Run_Google Cloud Debugger - Fatal编程技术网

Java 谷歌云调试器可以';找不到作为云运行服务部署的Spring Boot web应用

Java 谷歌云调试器可以';找不到作为云运行服务部署的Spring Boot web应用,java,spring-boot,docker,google-cloud-run,google-cloud-debugger,Java,Spring Boot,Docker,Google Cloud Run,Google Cloud Debugger,我按照指南()为我的云运行服务设置了云调试器。一切看起来都应该正常。但是调试器UI告诉我它找不到任何应用程序 然而,我做了文档中提到的所有事情 源代码位于源代码存储库中 云构建在masterpush上触发 我下载了cdbg java代理。所以 我使用-agentpath选项运行java应用程序 正在通过cloudbuild.yaml部署云运行服务 云运行服务启动正常,运行正常 但是,正如您在屏幕截图中看到的,在成功部署后,无法找到我的应用程序 以下是我的配置的一些详细信息: 弹簧靴v2.

我按照指南()为我的云运行服务设置了云调试器。一切看起来都应该正常。但是调试器UI告诉我它找不到任何应用程序

然而,我做了文档中提到的所有事情

  • 源代码位于源代码存储库中
  • 云构建在
    master
    push上触发
  • 我下载了
    cdbg java代理。所以
  • 我使用
    -agentpath
    选项运行java应用程序
  • 正在通过
    cloudbuild.yaml部署云运行服务
  • 云运行服务启动正常,运行正常
但是,正如您在屏幕截图中看到的,在成功部署后,无法找到我的应用程序

以下是我的配置的一些详细信息:

  • 弹簧靴v2.4.2
  • Kotlin 1.4.21
这是我的文件

FROM gradle:6.7.0-jdk14 as build
USER root
WORKDIR /dist
ADD . /dist
RUN gradle assemble

FROM alpine as agent
USER root
WORKDIR /agent
RUN wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_gce.tar.gz | tar xvz

FROM openjdk:14-slim
WORKDIR /app
COPY --from=agent /agent/cdbg_java_agent.so agent.so
COPY --from=build /dist/build/libs/user-service.jar app.jar
EXPOSE 8080
CMD ["java", "-agentpath:/app/agent.so", "-Dcom.google.cdbg.breakpoints.enable_canary=false", "-jar", "app.jar"]
这是docker构建输出

Deploying '<unknown> Dockerfile: Dockerfile'...
Building image...
Preparing build context archive...
[==================================================>]1855/1855 files
Done

Sending build context to Docker daemon...
[==================================================>] 76.19MB
Done

Step 1/15 : FROM gradle:6.7.0-jdk14 as build
 ---> 5af4d25725b2
Step 2/15 : USER root
 ---> Using cache
 ---> c97e9145e3e1
Step 3/15 : WORKDIR /dist
 ---> Using cache
 ---> 468fff36a2e7
Step 4/15 : ADD . /dist
 ---> c435bd2ffde9
Step 5/15 : RUN gradle assemble
 ---> Running in 70f5c69b7dde

Welcome to Gradle 6.7!

Here are the highlights of this release:
 - File system watching is ready for production use
 - Declare the version of Java your build requires
 - Java 15 support

For more details see https://docs.gradle.org/6.7/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)
> Task :compileKotlin
> Task :compileJava NO-SOURCE
> Task :processResources
> Task :classes
> Task :bootJarMainClassName
> Task :bootJar
> Task :inspectClassesForKotlinIC
> Task :jar SKIPPED
> Task :assemble

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 1m 48s
5 actionable tasks: 5 executed
Removing intermediate container 70f5c69b7dde
 ---> 5bbd9485f873

Step 6/15 : FROM alpine as agent
 ---> 28f6e2705743
Step 7/15 : USER root
 ---> Using cache
 ---> 4a0572e8ff4a
Step 8/15 : WORKDIR /agent
 ---> Using cache
 ---> 0374735af05d
Step 9/15 : RUN wget -qO- https://storage.googleapis.com/cloud-debugger/compute-java/debian-wheezy/cdbg_java_agent_gce.tar.gz | tar xvz
 ---> Using cache
 ---> ef141a7d5acc

Step 10/15 : FROM openjdk:14-slim
 ---> 38fca30874ab
Step 11/15 : WORKDIR /app
 ---> Using cache
 ---> 4dd576d38d65
Step 12/15 : COPY --from=agent /agent/cdbg_java_agent.so agent.so
 ---> Using cache
 ---> ff5fc93d2d5e
Step 13/15 : COPY --from=build /dist/build/libs/user-service.jar app.jar
 ---> 4b009124345f
Step 14/15 : EXPOSE 8080
 ---> Running in 99f71fb86534
Removing intermediate container 99f71fb86534
 ---> 38fcd9d00999
Step 15/15 : CMD ["java", "-agentpath:/app/agent.so", "-Dcom.google.cdbg.breakpoints.enable_canary=false", "-jar", "app.jar"]
 ---> Running in 309f35aed48f
Removing intermediate container 309f35aed48f
 ---> 43757d33b2ee

Successfully built 43757d33b2ee
Existing container found: 94d3fab4505461e8e694b61909ba1f7d827d8f7078b4dd8d1d36d4c4e0a0ac08, removing...
Creating container...
Container Id: b99675b5f6c00a0e5bec76999db04abf92eab29d257ee887bcea123a02789850
Container name: '/quirky_stonebraker'
Attaching to container '/quirky_stonebraker'...
Starting container '/quirky_stonebraker'
'<unknown> Dockerfile: Dockerfile' has been deployed successfully.


如果查看压缩的代理文件中的内容,您会注意到其中有几个文件名为:

  • cdbg_java_agent.so
  • cdbg_java_agent_internals.jar
  • version.txt
  • 出现此问题是因为您没有将internals.jar文件复制到/app dir。共享对象文件具有依赖关系,这可以解释为什么指示用户为调试器创建单独的目录

    要解决此问题,请将缺少的文件添加到Dockerfile中,如下所示:

    COPY --from=agent /agent/cdbg_java_agent.so agent.so
    COPY --from=agent /agent/cdbg_java_agent_internals.jar cdbg_java_agent_internals.jar
    COPY --from=build /dist/build/libs/user-service.jar app.jar
    

    然后等待约5分钟,直到您的服务出现在调试器上。请注意,源代码不会出现,除非它位于Git repo上。为此,您必须这样做。

    如果查看压缩代理文件中的内容,您会注意到其中有几个文件称为:

  • cdbg_java_agent.so
  • cdbg_java_agent_internals.jar
  • version.txt
  • 出现此问题是因为您没有将internals.jar文件复制到/app dir。共享对象文件具有依赖关系,这可以解释为什么指示用户为调试器创建单独的目录

    要解决此问题,请将缺少的文件添加到Dockerfile中,如下所示:

    COPY --from=agent /agent/cdbg_java_agent.so agent.so
    COPY --from=agent /agent/cdbg_java_agent_internals.jar cdbg_java_agent_internals.jar
    COPY --from=build /dist/build/libs/user-service.jar app.jar
    
    然后等待约5分钟,直到您的服务出现在调试器上。请注意,源代码不会出现,除非它位于Git repo上。你必须为此付出代价