![cover](https://img-blog.csdnimg.cn/img_convert/36e4d7fb54feedb9f36a509cb096c1b9.png)
IDEA 环境下直接在Docker调试
需求之前前后端开发都是一个人的时候,直接在项目中运行然后前端调试,这个自然没有什么问题,但前后端不是一个人或一个团队的时候就不能直接运行项目调试,因为大家都要承担开发任务,后端的反复重启对前端会造成前端调用错误的错觉当然 解决方案也不是没有,就是复制出来一个项目,修改一下端口号然后运行,这样容易会出现修改代码时修改到复制出来的项目上面去。此时 把项目运行到Docker上是最明智的选择。环境操作系统
需求
之前前后端开发都是一个人的时候,直接在项目中运行然后前端调试,这个自然没有什么问题,但前后端不是一个人或一个团队的时候就不能直接运行项目调试,因为大家都要承担开发任务,后端的反复重启对前端会造成前端调用错误的错觉
当然 解决方案也不是没有,就是复制出来一个项目,修改一下端口号然后运行,这样容易会出现修改代码时修改到复制出来的项目上面去。
此时 把项目运行到Docker上是最明智的选择。
环境
操作系统:macOS 12.2.1
IDEA:2021.3.x
Docker:4.6.1
分析
都什么年代了,把程序发布到Docker上不能太复杂,越简单越好。所以通过docker插件使用图形化的操作方式实现我们的需求。(我的IDEA已经默认安装docker插件)
操作
1.配置IDEA Docker插件
PS:我的docker是在我本机上安装的,所以我在这里没有选择远程
2.配置Docker 文件
# JDK 17
FROM openjdk:17
#作者
MAINTAINER liquntao
# 系统编号
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 声明一个挂载点,容器内此路径会对应宿主机的某个文件夹
VOLUME /tmp
# 应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar
ADD target/hrm-0.0.1-SNAPSHOT.jar app.jar
# 启动容器时的进程
ENTRYPOINT ["java","-jar","/app.jar"]
# 暴露2022端口
EXPOSE 2022
3.配置项目运行环境
ps:输入要执行的Maven命令clean package -U -DskipTests
,会在每次构建镜像之前,将当前工程清理掉并重新编译 .如下图
4.运行(第一次运行,如果没有JDK docker会自动下载,所以会有点慢)
5.Docker 修改端口
我手动把端口修改为8888(因为自己调试要使用2022)
6.验证
(因为我用的是spring boot 并且使用了swagger,所以能打开接口,说明正常)
总结
任何折腾都是经验,不要抱着固守的思维做事。
原创不易,欢迎转载,转发请注明出处。
更多推荐
所有评论(0)