资讯专栏INFORMATION COLUMN

容器化开发环境 - 如何断点调试容器中的应用

wean / 3348人阅读

摘要:上一篇容器化开发环境已经简单的介绍了如何容器化开发环境。学会断点调试容器中的应用,再也不用为我那乌黑亮丽的头发着急啦原文链接

上一篇容器化开发环境已经简单的介绍了如何容器化开发环境。在开发过程中,很多时候都需要通过断点的方式来调试程序或定位BUG,那么如何断点调试运行在容器中的应用呢???

容器就像一个虚拟机,就像一个远程的服务器,要断点调试容器中的应用,就像要断点调试虚拟机和远程的服务器上的应用一样。如何配置一个可以远程断点调试的应用,每个语言,每个框架都有不同的方式,接下来介绍的例子使用的技术栈如下:

Spring Boot

Gradle

IntelliJ IDEA

接下来会基于上一篇博客中的DEMO hello-dockerize 进行扩展。

clone code repo

$ git clone https://github.com/aikin/hello-dockerize.git

更新build.gradle文件,在文件中写入apply plugin: "application"

/*
  remote debug setup
 */
applicationDefaultJvmArgs = [
        "-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n"
]

更新docker-compose.yml文件

web:
  build: ./dockerize
  environment:
    - LANG=C.UTF-8
    - TERM=xterm
    - DEBUG=true
  ports:
    - "8080:8080"
    - "5005:5005"
  volumes:
    - .:/hello-dockerize

启动容器

$ docker-compose run --service-ports web

配置 IntelliJ IDEA

打开工具栏Run --> Edit Configurations

添加新配置 点击加号,选择Remote,将 Host localhost 修改为docker-machine ip machine-name获取的IP,在/etc/hosts文件中绑定的本地域名dockerhost

在容器中启动服务:

root@b73c06ebe59f:/hello-dockerize# ./gradlew bootRun --debug-jvm --stacktrace

启动 IntelliJ IDEA 的 debugger 模式

点击debug按钮

打开浏览器访问http://dockerhost:8080/hello-dockerize,如果你也看到下面的画面,恭喜你成功啦。

  


  
学会断点调试容器中的应用,再也不用为我那乌黑亮丽的头发着急啦!!!

原文链接

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/26736.html

相关文章

  • PhpStorm连接docker容器内的php XDebug进行断点调试

    摘要:连接容器内的进行断点调试进行断点调试尽管不像其他语言那样方便,但是有些是有确实有其用处,比如调试循环内的数据异常时。 PhpStorm连接容器内的XDebug进行断点调试 php进行断点调试尽管不像其他语言那样方便,但是有些是有确实有其用处,比如调试循环内的数据异常时。在php于phpstorm都安装在同一环境下时,配置phpstorm的xdebug调试并不是多困难的事情,但是如果你使...

    XGBCCC 评论0 收藏0
  • docker中php xdebug调试开发

    摘要:这样就配置好了安装插件监听地址开启小电话以后,如果访问会自动进入断点中的模式,这样我们的开发环境的断点调试就已经配置好了。 docker-compose环境来自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 说明 在开发中,断点调试是我们最快能找出Bug代码问题的所在,那么在docker中如何使用...

    import. 评论0 收藏0
  • docker中php xdebug调试开发

    摘要:这样就配置好了安装插件监听地址开启小电话以后,如果访问会自动进入断点中的模式,这样我们的开发环境的断点调试就已经配置好了。 docker-compose环境来自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9... 说明 在开发中,断点调试是我们最快能找出Bug代码问题的所在,那么在docker中如何使用...

    kyanag 评论0 收藏0
  • 【好好面试】手把手调试,教你分析Spring-Aop

    摘要:思考之所以会选择为切入点,是因为通过命名可以看出这是用来构建代理强化对象的地方,并且由于是先将目标类加载到内存中,之后通过修改字节码生成目标类的子类,因此我猜测强化是在目标类实例化后触发的时候进行的。 【干货点】 此处是【好好面试】系列文的第11篇文章。看完该篇文章,你就可以了解Spring中Aop的相关使用和原理,并且能够轻松解答Aop相关的面试问题。更重要的是,很多人其实一看源码就...

    aervon 评论0 收藏0
  • 【CSS练习】IT修真院--练习1-九宫格

    摘要:用于显示日志信息及输入一些命令请求监听。可获得请求列表,点开某一项将看到数据头部数据。包含本次请求的请求方法状态码请求服务器的地址其他一些设置响应头部包含用户代理,帮服务器识别设备用预览。 九宫格——用html+css制作一个网页 一. 目标效果: showImg(https://segmentfault.com/img/bVbbxBA?w=872&h=644); 二. 效果描述 圆角...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<