当前位置: 首页 > news >正文

Docker部署Springboot项目

一、把Springboot项目打成jar包

(一)右键项目文件,点击Open Module Settings

(二)选中Artifacts,点击中间的加号(Project Settings->Artifacts->JAR->From modules with dependencies )

(三)弹出Create JAR from Modules,选择‘Main Class’,然后点击OK

(四)开始打包,点击右侧的Maven Projects,打开LIfecycle先点击clean,再点击package,生成target文件夹,里面有以项目名命名加版本号的jar文件,至此打包完成。

(五)生成的jar包在target目录下

二、上传jar包和Dockerfile

(一)创建Dockerfile

(二)编写Dockerfile

#jdk开始创建新镜像
FROM openjdk:17
#定义环境变量
ENV appdir /mywork
#运行创建目录的命令
RUN mkdir ${appdir}
#设置工作目录,在这个目录中执行后面的命令
WORKDIR ${appdir}
#拷贝文件
COPY ./myapp.jar ${appdir}/myapp.jar
#用于提示说明,无实际意义,端口号是在jar中设置好的
EXPOSE 8001
#运行启动要执行的命令, java -jar myapp.jar
CMD ["java","-jar","myapp.jar"]

(三)上传jar和Dockerfile

将myapp.jar和dockerfile一起放在mywork目录下,如下所示

(四)执行构建命令

docker build -t myweb:1.0 /mywork

(五)查看已有镜像

(六)运行容器

这里注意,如果Springboot项目里面是8080端口运行的,冒号后面就填8080端口。容器运行的端口是8081。

 docker run --name myweb -p 8081:8080  -d myweb:1.0

(七)查看日志

docker logs myweb

运行结果如下 :

(八)尝试浏览器访问

相关文章:

  • MySQL性能调优篇(4)-查询语句的优化与重构
  • 【数学建模】【2024年】【第40届】【MCM/ICM】【E题 财产保险的可持续性】【解题思路】
  • 推荐《架构探险:从零开始写Java Web框架》
  • 复习2:带头双向链表
  • Elasticsearch:适用于 iOS 和 Android 本机应用程序的 Elastic APM
  • wps使用方法(包括:插入倒三角符号,字母上面加横线,将word中的所有英文设置为time new roman)
  • [AIGC codze] Kafka 的 rebalance 机制
  • django通过指定用户手机号查询外键所关联的数据,倒序查询
  • 【51单片机】AT24C02(江科大、爱上半导体)
  • gem5学习(20):替换策略——Replacement Policies
  • C++11---(1)
  • 函数式编程要点
  • N-144基于微信小程序在线订餐系统
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第五天-ARM Linux编程之file_operations详解 (物联技术666)
  • C#既然数组长度不可改变,那么如何动态调整集合类型数组大小,以便添加或删除元素?
  • [nginx文档翻译系列] 控制nginx
  • 【前端学习】-粗谈选择器
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • gops —— Go 程序诊断分析工具
  • Java 内存分配及垃圾回收机制初探
  • JavaScript设计模式之工厂模式
  • JS函数式编程 数组部分风格 ES6版
  • Koa2 之文件上传下载
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • mysql 数据库四种事务隔离级别
  • Python socket服务器端、客户端传送信息
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 反思总结然后整装待发
  • 关于使用markdown的方法(引自CSDN教程)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 让你的分享飞起来——极光推出社会化分享组件
  • 人脸识别最新开发经验demo
  • 用简单代码看卷积组块发展
  • 仓管云——企业云erp功能有哪些?
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​520就是要宠粉,你的心头书我买单
  • ​queue --- 一个同步的队列类​
  • ​TypeScript都不会用,也敢说会前端?
  • ​什么是bug?bug的源头在哪里?
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • #图像处理
  • (13):Silverlight 2 数据与通信之WebRequest
  • (cos^2 X)的定积分,求积分 ∫sin^2(x) dx
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (三)Honghu Cloud云架构一定时调度平台
  • (十) 初识 Docker file
  • (十)T检验-第一部分
  • (学习日记)2024.02.29:UCOSIII第二节
  • (一)Java算法:二分查找
  • (转)jQuery 基础
  • ./configure,make,make install的作用
  • .NET/C# 使用反射注册事件
  • .NetCore实践篇:分布式监控Zipkin持久化之殇
  • .NET开源项目介绍及资源推荐:数据持久层 (微软MVP写作)
  • @Mapper作用