分享好友 最新动态首页 最新动态分类 切换频道
Docker部署Spring Boot项目
2024-12-27 03:20

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker部署Spring Boot项目

docker的核心思想是通过对应用的封装、分发、部署、运行生命周期进行管理,达到应用组件级别的“一次性封装,到处运行”。这里的应用组件,可以是一个web应用,也可以是一个环境,更可以是一个数据库等等。

既然docker这么神奇,那我们如何安装docker呢?我们一起来走一下吧。

由于本人的系统是CentOS,所以这里就只展示一下CentOS的安装方式,Ubuntu以及其他系统请自行百度。

docker要求CentOS在7.0以后的版本,如果你的系统版本还在7.0以前,请先升级一下版本在进行安装,同时不支持32位的系统,内核版本至少3.10。

请先确保没有安装过docker,否则有可能会导致安装失败,如果之前安装过,可以尝试直接yum isntall -y docker

1.更新软件源第一个命令



遇到他输入y,然后回车,看到下面信息表示更新成功:

第二个命令



2.添加docker稳定版本的yum软件源



3.再次更新yum源,并安装docker





看到这个页面,标识docker已经安装成功了。

4.安装完成之后启动docker


 

5.重启

 


 

6.停止

 


 

7.开机自启动

 


 

8.查看docker的状态

 


 

通过脚本安装

除了上面的yum安装,还可以采用shell脚本安装,安装流程如下:


 

或者


 

拉取java环境

拉取jdk很简单,直接执行一行代码即可,我这里拉取的时java 8的版本。


拉取完成之后执行:

 


 

如果出现下面内容,表示拉取成功

 

创建springboot项目

1.新建项目

引入sprint-boot-web的依赖

新建完成之后的项目结构

2.引入docker依赖


 

3.新建docker文件在main目录下新建docker目录,然后在docker目录下创建dockerfile文件,不需要后缀名。

创建完成之后的工程目录如下:

4.编辑dockerfile文件


 

FROM:指定存在的镜像,java:8是我刚刚拉取的镜像,运行的基础。VOLUME:指向的一个临时文件,用于存储tomcat工作。ADD:复制文件并且重命名文件。ENTRYPOINT:初始化配置或者自定义配置。

5.创建测试接口

TestController内容如下:



 

在resources目录下创建log4j2.xml文件主要看这两个参数:

这里我使用了log4j2的日志,如何配置log4j2的日志,请参考 springboot整合Log4j2(将日志输出到指定文件)。

6.编写application.yml配置文件


到这里springboot项目就创建完成了,我们现在启动一下项目。


 

如果看到这个页面表示springboot项目没有问题,现在我们将项目拷贝到服务器中。

 

我现在已经将项目拷贝到服务器中,我们现在需要将它打包到docker中,借助maven实现打包,如果还没有安装maven的,请先安装maven,切换到项目的根目录

执行


 

执行完之后将会看到

表示打包成功。

执行



我们发现docker的镜像中多了一个springboot/spring-boot-docker,没错,这个就是我们的springboot项目,既然镜像已经生成,那么如何使用这个镜像呢?

执行



run:运行的意思–name:指定镜像启动的之后的名称-p:容器和外部的端口映射 第一个端口:外部 第二个端口:内部-d:后台运行 -t:实时运行,窗口关闭,程序结束。4a2:表示镜像的id(IMAGE ID)前3位,这里的id并不需要输入全称,只需要输入前几个就行,有一个前提:当有很多镜像的时候,前面几个字符就有可能会相同,这个时候就需要多输入几位,直到不相同位置。

启动了镜像之后我怎么知道有没有成功呢?这个时候我们就需要一个命令来查看已经启动的任务



我们发现这里已经出现了我们之前启动的镜像,所以这基本上代表启动成功了,为了验证是否启动成功,我们在浏览器输入测试的接口:ip:9999/test

docker查看容器的日志

这说明我们已经springboot项目已经启动成功了,到这里docker部署springboot项目差不就结束了,但是你可能还有一个疑问,如果我想看控制台的日志怎么办呢?像我们一般使用java -jar的时候都会生成一个控制台的日志文件,那docker容器中怎么查看控制台日志呢?其实很简单,只需要一行命令即可


 

找到容器的id

然后执行



这个时候我们就能看到控制台的日志了,如何我们想看log4j2输出的文件日志呢?

还记得我们在log4j2中配置了日志的输出目录了吗?

没错,就是这个, 我们切换到这个目下

发现这里生成了三个文件,我们打开info.log



我们发现并没有输入我们打印的:“这是输出到文件的日志”,难道是我们配置错了问题?不是的,是因为我们找错了位置,真正的文件日志在容器内部,所以我们需要先进入容器内部


ca2cd59fff9b:容器id

然后再切换到我们日志的输出路径


 

这里也找到了三个日志文件,我们打印info.log



这就是我们log4j2输出到文件的日志,到这里docker整合springboot项目就差不多结束了,如果想要退出docker容器可以使用

最新文章
说说抖音福袋怎么抢几率大,在哪可以抢到福袋。
抖音福袋的活动通常由官方账号发布,包括抢福袋的时间、地点以及其他相关信息。因此,首先要多关注这些官方账号,比如抖音官方账号、明星或大V账号等。通过及时获取信息,你就能够第一时间了解到抢福袋的具体细节,提前做好准备。由于抖音
无锡企业在线崛起之道,专业网站优化推广揭秘
无锡专业网站优化推广,凭借精准关键词策略、搜索引擎优化和数据分析,助力企业在线崛起。全方位提升网站流量和率,实现品牌在线曝光和客户精准触达,助力企业实现线上业务增长。随着互联网技术的飞速发展,越来越多的企业开始意识到网络营
飞行影院加盟费
飞行影院加盟费用:飞行影院投资费用在47-107万元。 想要获得更丰厚的利润,就要做好更充足的准备,如今想要加盟飞行影院的投资者人数还在不断增长,如果您也想加盟,一定要做好万全的准备,赶快点击“我要加盟”获取飞行影院加盟的最新政
白酒电商营销策划方案
电商已经成为了消费者购物的主要方式之一。白酒作为中国文化的重要组成部分,在电商平台上也有着巨大的市场需求。因此,白酒品牌需要制定一套有效的电商营销策划方案,以提升品牌知名度、销售量和用户满意度。白酒品牌需要重视电商平台的品
百度地图关怀版 v1.1.5 官网最新版下载 老年人导航地图app
2021年,工信部启动“互联网应用适老化及无障碍改造专项行动”。很多大大小小的APP,都进行了适老化改造,也就是俗称的老年版。如今,备受期待的改造基本已经完成,而这结果,貌似依旧不太理想。部分开发者特别鸡贼,改来改去,就只是加了
荣科科技涨1.25%,目前股价靠近压力位22.00,谨防压力位处回调,若突破压力位则可能会开启一波上涨行情
12月16日,涨1.25%,成交额9.30亿元,换手率6.53%,总市值139.46亿元。根据AI大模型测算荣科科技后市走势。短期趋势看,该股当前无连续增减仓现象,主力趋势不明显。主力没有控盘。中期趋势方面,上方有一定套牢筹码积压。近期该股有吸筹现
谈谈如何让一个SEO新手“快速成长”
现在SEO技术应用越来越广泛了,不用说,学习seo技术的人也越来越多。对于一个新手要学习要掌握的东西很多,那么如何才能更快的学好呢?其实没有更快学好这样的秘诀,我只能教你如何摆好心态,认真学习,这样你肯定比其他人要学的好学的快。
温州螺丝计算机视觉方案设计实时反馈全+境+到+达
  温州螺丝计算机视觉方案设计实时反馈全+境+到+达——苏州希佑科技有限公司!  提供:  计算机视觉|人工智能检测|人工智能视觉检测|CCD 视觉检测|视觉应用|视觉深度学习|AI人工智能检测|AI人工智能图像处理|AI图像处理|视觉检测|不
谷歌优化实操技巧
在海外市场竞争日趋激烈的今天,特别在的影响下,不少外贸企业的老客户也受到了影响。因此通过线上外贸开发海外客户成了企业的重点。而外贸是诸多推广渠道中效果较好且投入较低的一种方式,那么在网站优化时有哪些技巧呢?下面云程网络为大
绘画与影像的美学共生
  作者:陆颖(浙江师范大学艺术学院讲师)   在电影发展历程中,作为传统视觉艺术形式的绘画与之产生了彼此纠缠的关系,二者如同两条蜿蜒前行的轴线,时而交错、时而并进,在形式创新与内容互动等方面,逐渐消弭了门类艺术的边界,催
相关文章
推荐文章
发表评论
0评