idea使用ssh连接docker,并通过Dockerfile文件,直接在idea中启动docker应用,并进行远程debug

idea使用ssh连接docker,并通过Dockerfile文件,直接在idea中启动docker应用,并进行远程debug

容器运行的好处是减轻本地运行的负担(本地电脑只负责应用打包)和可以将一些应用依赖的第三方软件安装到容器中,本地电脑无需安装(减少本地电脑安装一大堆乱七八糟的软件,例如Java应用需要在线看office文档,需要依赖的office套件等)

第一步: idea通过ssh连接docker



第二步:使用Dockerfile文件在远程启动应用


  • Dockerfile文件内容(war包)
bash 复制代码
# 这个镜像可以自行选择,例如,有些应用需要office依赖等,但又不想再自己电脑上装,即可通过将依赖都安装到容器中的方式,去运行应用,再配合远程debug,即可实现几乎无感的远程开发
FROM tomcat:jre8-alpine
WORKDIR /usr/local/tomcat

ENV CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=28080"

RUN rm -rf webapps/*
ADD ./target/*.war webapps/app.war
EXPOSE 8080
  • Dockerfile文件内容(jar包)
bash 复制代码
FROM openjdk:17-jdk-slim

WORKDIR /data

COPY build/libs/*.jar /data/app.jar

ENTRYPOINT ["java","-Xms512m","-Xmx4096m","-XX:+UseG1GC","-jar","-Duser.language=zh","/data/app.jar"]



  • 看日志

第三步: 远程debug

至此,即可调用接口,idea进行debug了

相关推荐
qinyia2 小时前
Wisdom SSH 是一款创新性工具,通过集成 AI 助手,为服务器性能优化带来极大便利。
服务器·人工智能·ssh
帝国辉耀16 小时前
docker、docker daemon、k8s、dockershim、containerd之间的关系
docker·容器·kubernetes
明明跟你说过6 小时前
【k8s】资源限制管理:Namespace、Deployment与Pod的实践
运维·docker·云原生·容器·kubernetes·k8s
2301_794333918 小时前
实验室服务器配置|通过Docker实现Linux系统多用户隔离与安全防控
linux·服务器·docker·实验室
李少兄9 小时前
解决IntelliJ IDEA 提交代码时无复选框问题
java·ide·intellij-idea
JCGKS9 小时前
Docker|“ssh: connect to host xxx.xxx.xxx.xxx port 8000: Connection refused“问题解决
docker·ssh·端口·listen·tcp三次握手
惜.己10 小时前
Docker启动失败 Failed to start Docker Application Container Engine.
spring cloud·docker·eureka
fengfuyao98510 小时前
诊断并修复SSH连接Github时遇到的“connection closed“错误
运维·ssh·github
高旭的旭10 小时前
Gitlab 配置自定义 clone 地址
svn·ssh·gitlab·code
scugxl10 小时前
centos7 docker离线安装
运维·docker·容器