• 如何使用IDEA进行DOCKER调试


    引言
    在日常的开发过程中我们使用的开发环境通常与正式环境并不一致,这样就比较容易出现一些意外。
    于是我们通常会借助docker来让我们的开发和正式环境一致。那如何在docker中进行运行和调试呢?

    需要解决的问题

    我们如何使用IDEA中使用docker模拟、调试呢?

    环境准备

    1. 安装IDEA,建议使用新版本
    2. 安装docker环境

    具体步骤

    1.编写Dockerfile文档

    使用Docker运行调试的最基础条件就是编写一个Dockerfile文档,下面是一个参考的案例。
    主要注意一下两点:

    1. 导出服务接口(80)和调试接口(5005)。
    2. 增加开启远程调试命令 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005。不同版本的增加方法可在后续的IDEA配置中获取。
    FROM openjdk:16.0.2-jdk-buster
    VOLUME ["/tmp"]
    COPY "target/app.jar" "/app.jar"
    EXPOSE 80
    EXPOSE 5005
    ENTRYPOINT ["java","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005","-jar","/app.jar"]
    

    2.配置IDEA的Docker运行

    1. 打开IDEARun/Debug Configurations
    2. 选择 + 号下的 Docker -> Dockerfile
    3. 参考配置项
      image

    3.配置IDEA的远程JVM调试

    1. 打开IDEARun/Debug Configurations
    2. 选择 + 号下的 Remote JVM Debug
    3. 参考配置项
      image

    4.编写清理Docker镜像(可选)

    以下为可选操作。
    如果不执行此操作在执行调试的时候容易产生一些没有镜像名称和TAG的空镜像。

    具体操作步骤如下

    1. 打开IDEARun/Debug Configurations
    2. 选择 + 号下的 Batch或者Shell Script,选择具体那种视操作系统而定。
    3. 参考命令
    docker rm -f <容器名称>
    docker rmi -f <镜像名称>
    
  • 相关阅读:
    ExtJs gridPanel Column 时间格式化
    Asp.Net MVC结合ExtJs gridPanel 分页和高度自适应
    iOS组件化思路-大神博客研读和思考
    怎么面试架构师
    iOS应用架构谈 本地持久化方案及动态部署
    iOS应用架构谈 网络层设计方案
    iOS应用架构谈 view层的组织和调用方案
    iOS应用架构谈 开篇
    隐藏TabBar是个累人的活
    App升级时数据库的迁移更新
  • 原文地址:https://www.cnblogs.com/ykbb/p/15916022.html
Copyright © 2020-2023  润新知