docker port如何增加端口_超简单!docker容器远程debugger(springboot)

b57ab393ac1cdb7bed753f37bd9e5afe.png

一、背景

公司有一个项目是通过docker管理的,部署起来确实很方便简洁,但是要命的是:如果服务出现了bug,我们只能查看日志,日志量很大,bug定位时间特别长,非常不方便,而且没有远程debugger,于是乎就想着给项目添加一个远程debugger.

二、环境

  1. docker
  2. springboot
  3. jdk8
  4. docker-compose
  5. idea

三、代码实践

1.修改配置文件

  1. 在dockerFile中添加一个暴露端口5005
FROM openjdk:8
LABEL description="Java 8"

EXPOSE 8088
EXPOSE 5005

  1. 在执行语句中添加-agentlib:jdwp=transport=dt_socket
FROM openjdk:8
LABEL description="Java 8"

EXPOSE 8088
EXPOSE 5005

ADD /target/docker_images-0.0.1-SNAPSHOT.jar docker_images-0.0.1-SNAPSHOT.jar
ENTRYPOINT ["java", "-jar","-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005","docker_images-0.0.1-SNAPSHOT.jar"]
  1. docker-compse.yml中添加port:5005
version: '3'
services:

  test:
    container_name: java_test
    build:
      context: .
      dockerfile: DockerFile
    image: java/test:8.0.0
    ports:
          - "8088:8088"
          - "5005:5005"
    volumes:
          - /logs:/logs

2. idea打开远程调试

  1. 点击edit configuration添加启动配置
  2. 点击“+”,添加远程
  3. 给远程配置中添加ip和port,示意图如下:

7ed63a94f811d2f0f35be15d04b89fcf.png
  1. debugger启动本地服务(注意本地代码需要和服务器上代码一致)
  2. 如果出现连接超时的情况,请检查本机ip是否可以ping通,然后就是检查服务器是否开放5005端口(你设定的那个端口),按照步骤来问题基本都可以被解决。

四、结果展示

  1. 查看docker镜像日志docker logs -f --tail=600 java_test

b2f525f6cb2d0601e493e5e3ce0bdd08.png
  1. idea断点测试

b2f525f6cb2d0601e493e5e3ce0bdd08.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值