idea 2019.1发布之后,我觉得对于我来说最有用的新功能是现在可以使用使用idea调试一个运行在docker容器的Java实例.
在很多时候,我们为了保证测试环境与正式环境一致,我们大多使用docker,因为docker可以封装除了内核硬件之外的运行环境,docker将软件包以层的概念封装起来,保证在不同机器都会有一致的运行环境.
如果有一天线上出现问题的话,我们第一时间是要查看日志定位错误,然后模拟线上环境来进行调试.由于docker封装了运行的环境,保证在任何机器上(不依赖内核跟系统)都会有同样的运行环境,我们使用docker可以来获得与线上一致的运行环境.
在没有idea 2019.1之前,我使用idea来进行调试在docker实例的时候都要修改DockerFile暴露一个调试端口,修改DockerFile CMD启动命令.但在idea 2019.1更新之后就不用这么做了.
1进入编辑DockerFile页面点击第一行的绿色三角形按钮,选择第三个选项('edit *DockerFile'),新建一个DockerFile
Run config
2新建一个Remote类型的Debug config,具体配置如下图,
2.1如果你使用maven 多moudle的话在use module classpath选择要进行调试的moudle,
2.2在before launch:添加一个before选项,类型是launch docker before debug类型,现在你在第一步新增的DockerFile Run Config
2.3在custom command选项配置启动项目实例的java 命令,将图中圈起来的部分作为java命令的参数
3 好了现在一切配置好了,现在只要保存,然后选择启动debug刚刚新建的remote选项就可以在docker容器里调试Java实例了