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

docker部署SpringBoot项目

一、为什么使用Docker部署SpringBoot项目

Dokcer确实是个好东西,自从使用了它之后,不论是nginx mysql redis,还是xxx,通通放里边儿,管理起来非常好管理,部署也很方便,其实说白了就是懒。可是工具开发出来不正是方便我们使用的嘛,嘿嘿。下面正式进入主题——

把spring boot项目生成的ja包r打成docker镜像并生成docker容器完成部署是比较简单方便的部署方式,而且部署过程很少会出错

二、部署步骤

1. 利用maven或者gradle完成打包工作,打成jar包的形式。(点击IDEA右侧的Maven)  build成功后在target目录下会生成jar包

 2. 在项目中的任意位置创建Dockerfile文件,文件代码如下:

FROM java:8
VOLUME /tmp
ADD yisanbang-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
  • FROM java:8是指含有jdk1.8的镜像
  • VOLUE /tmp:  /tmp目录并持久化到Docker数据文件夹,因为Spring Boot使用的内嵌Tomcat容器默认使用/tmp作为工作目录
  • ADD yisanbang-0.0.1-SNAPSHOT.jar app.jar: 添加自己的项目到到app.jar中,注意:这里的包名要和pom文件中的包名一致,后面的app,jar可以自己取
  • ENTRYPOINT是指容器运行后默认执行的命令

3. 上传自己的项目和Dockerfile文件到虚拟机,可以放在同一个目录下面

 4. 创建自己的镜像   注意最后有一个 .

docker build -t yisanbang:1.0-SNAPSHOT .

显示创建成功,查看下镜像。

 5. 生成docker容器

docker run -d -p 8089:8089 --name yisanbang yisanbang:1.0-SNAPSHOT
  • -d:后台运行容器
  • -p 8089:8089 主机的端口和docker容器中的端口做映射
  • yisanbang 自定义容器名称
  • yisanbang:1.0-SNAPSHOT:镜像名称和对应版本,如果没有指定版本,默认会去寻找lasest版本

docker run…命令执行成功之后使用 docker ps 命令,检查是否存在yisanbang容器并在运行中

确实是生成了容器并已经在运行了。

之后用浏览器访问页面测试一下:

 


http://www.kler.cn/news/18324.html

相关文章:

  • 【sop】基于灵敏度分析的有源配电网智能软开关优化配置(Matlab代码实现)
  • Linux 安装 NFS 实现文件目录共享
  • SpringBoot创建和使用
  • RESTful风格(个人笔记)
  • MySQL事务:原理、类型和使用场景
  • taro小程序中如何引入css_moudle?配置后不生效的解决方法
  • HTML 中的常用标签用法
  • Vue中的路由设置
  • 学习大数据有推荐的么
  • 某程序员哀叹:二本计算机,4年开发,年包才40多万。二本真的不如985/211吗?
  • linux命令之journalctl详解
  • 全国职业院校技能大赛网络建设与运维赛项赛题(五)
  • Python突破某网游游戏JS加密限制,进行逆向解密,实现自动登录
  • 前端架构师-week4-通用脚手架命令Command类封装
  • 扫雷,咱就是一扫一大片(C语言完美递归版)
  • (一)zookeeper实战——初识zookeeper
  • FlashFXP快捷键
  • Mysql索引(1):索引概述
  • 【大数据之Hadoop】二十五、生产调优-HDFS核心参数
  • 【5.JS基础-JavaScript的DOM操作】
  • 操作系统:虚拟内存
  • MySQL基础(十九)Linux下MySQL的安装与使用
  • Softing线上研讨会 | 轻松访问XML文件中的过程数据
  • 2023年6月DAMA-CDGA/CDGP数据治理认证报名请尽早啦!
  • BetaFlight统一硬件配置文件研读之serial命令
  • (8) 支持向量机分类器SVC案例:预测明天是否会下雨
  • 跨境电商支付平台-PingPong Pay(实现收银台模式沙箱支付)
  • 关于WPA3-H2E的技术讲解
  • Verilog概述一:Verilog HDL和 VHDL详细对比
  • JavaWeb综合案例1-2