docker SpringBoot构建微服务 解析docker妙用SpringBoot构建微服务实战记录
Friends of the wind 人气:0它是啥?
Spring Boot 是 Spring 开源组织的子项目,是 Spring 组件一站式解决方案,主要是简化了使用 Spring 的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手。
为啥用它?
五大优点:
1、起步依赖 官方为我们整合了大量的起步依赖,简化了我们搭建项目的工作,同时,起步依赖提供了可靠的依赖管理,降低了项目引入问题版本和依赖冲突的风险。
2、 自动配置 开启组件扫描和自动配置。 通过exclude参数关闭特定 的自动配置。
3、 应用监控 Spring Boot 监控核心是 spring-boot-starter-actuator 依赖,增加依赖后, Spring Boot 会默认配置一些通用的监控,比如 jvm 监控、类加载、健康监控等。Actuator插件是SpringBoot原生提供的一个服务,可以通过暴露端点路由,用来输出应用中的诸多端点信息。
4、 独立运行 SpringBoot内置了Tomcat容器,可以直接执行 main 方法运行。项目部署可以打成jar的文件在服务器上通过执行java -jar 命令来运行服务。
5、热部署 项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应的各种信息,然后 Class 文件将被虚拟机的 ClassLoader 加载。
而热部署正是利用了这个特点,它监听到如果有 Class 文件改动了,就会创建一个新的 ClaassLoader 进行加载该文件,经过一系列的过程,最终将结果呈现在我们眼前。
案例
1.开发springboot微服务
2.对springboot应用程序进行打包
一般是两种格式的包,案例采用jar
war 过渡 tomcat
jar 主流 jdk
3.打包项目
aliyun-sdk-oss-2.6.1.jar
4.在服务器中创建Dockerfile目录
mkdir /root/springboot
上传jar包到此目录,并载入Java环境镜像openjdk /root/springboot
创建Dockerfile文件
vim Dockerfile
FROM openjdk:8-jre
WORKDIR /app
ADD aliyun-sdk-oss-2.6.1.jar app.jar
EXPOSE 8080
ENTRYPOINT [“java”,"-jar",“app.jar”]
5.构建镜像
docker build -t app1 .
6.运行容器
docker run -d -p 8081:8080 --name registry1 app1 bash
查看容器:
加载全部内容