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了

相关推荐
java_logo1 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
xbzb2 小时前
容器 IP 每次重建都变?docker network 五种模式与自定义网桥固定地址
网络·docker·容器·ip·network·固定
打工仔折腾 AI7 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
xbzb11 小时前
自建镜像仓库:registry 一条命令 + harbor 部署、授权、跨库同步与卸载
docker·harbor·镜像·仓库·同步·registry
程序开发阿元1 天前
密码不进工具:一个独立开发者的服务器凭据管理办法
linux·ssh
布莱克6051 天前
Swift 常量详解:从 let 到编译期优化
服务器·开发语言·ssh·swift·常量·let
布莱克6051 天前
Swift 可选类型(Optionals)详解:从原理到实战
开发语言·安全·ssh·swift·optional·可选类型
时间售卖铺1 天前
Chrony与SSH实战:精准时间同步与安全远程登录
运维·安全·云原生·ssh
wz97541 天前
Docker 从 systemd 托管容器、overlay2 存储驱动到 Compose 多容器实战
spring cloud·docker·eureka
新*1 天前
ES 7.17 三节点 Docker 集群接入 IK 自定义词典:一次从丢插件到热更新的完整排障
运维·elasticsearch·docker·中文分词·ik分词