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了

相关推荐
Wang's Blog3 小时前
Java 项目部署之 Docker工具快速入门: Docker 是什么以及它如何解决部署环境问题
java·开发语言·docker
AIGC大时代4 小时前
LLM Agent 执行沙箱闸门:失败含义与当天最小实验
docker·沙箱·闸门·bubblewrap·llm agent
quqi995 小时前
git push permission denied (by quqi99)
ssh
灯澜忆梦5 小时前
【docker】#2 | 基础命令
docker·容器·eureka
程序员老赵7 小时前
Docker 部署 WordPress:轻松搭建开源内容管理平台
docker·开源·wordpress
sbjdhjd8 小时前
云安全 | 从特权容器到旧版 runC:Docker 宿主机访问与运行时缺陷复盘
运维·网络安全·docker·云原生·kubernetes·云计算·云安全
microxiaoxiao9 小时前
MobaXterm vs Aeroshell
linux·运维·ssh
Pocker_Spades_A10 小时前
Penpot自托管设计协作:Docker部署、MCP接入与Codex生成UI实操记录
ui·docker·容器
Lvan的前端笔记19 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker