开发者学堂课程干货总结——Spring Boot 2.5.x开发实战(十)

简介: Spring Boot 2.5.x开发实战课时10——Spring Boot2.5实战Docker容器 ,Spring Boot 2.5.x开发实战是学习Java Spring Cloud微服务架构的必经之路。电子书+视频为同学带来最佳学习效果,文字、课程链接、图谱地址统统为大家放送了哦

哈喽各位同学们大家好呀,小编今天为大家分享开发者学院中课程Spring Boot2.5实战Docker容器”干货总结哦,并且是Spring Boot 2.5.x开发实战的最后一篇~Spring Boot 2.5.x开发实战可Java中级工程师必备课程!

课程链接以及图谱地址小编已经为大家指路了,搭配学习效果更佳👇

课程名称:Spring Boot 2.5.x开发实战

课程地址:https://developer.aliyun.com/learning/course/71

图谱名称:Alibaba Java 技术图谱

图谱地址:https://developer.aliyun.com/graph/java

明日将为大家分享新课程“Dubbo 分布式服务治理实践”,敬请期待吧!


Spring Boot2.5实战Docker容器


  1. Spring Boot2.5.x部署方式 

由于Spring Boot内嵌了很多Web容器现在部署Spring Boot应用相对比较简单。这里指的Web应用可以用这个方法部署。如果要部署普通的应用,比如命令方式也可以doctor方式或者用其他的部署工具结合服务器或者远端的云端服务器进行自动化部署。 

image.png 

 

(二)Spring Boot实战Docker容器DockerHub 

image.png 

Docker作为一个容器工具,它实际是一个平台一个生态,它包括Docker的服务器端客户端以及仓库可视化管理界面 

给大家讲课的时候用的是windows10,两年前windows1支持Docker,现在基本上就可以了,因为要开虚拟化技术如果你用Linux环境或者Mac OS,Docker环境是比较容易安装 

image.png 

DockerHub本身是类似于一个镜像的仓库,只不过这个服务器基本上都在美国国内的话像阿里跟Docker签了合作协议,阿里云构建了一个Docker中国大陆的镜像服务,可以创建Docker的私有仓库。阿里云注册账号在自己的账号里面可以看到Docker的一个镜像。Docker应用程序的一个构建和发布标准化大规模集群的部署提供了非常便捷的操作方式 

 

image.png 

Docker本身也有自己的管理工具叫Docker swarm。当有了Docker专属的DockerHub地址之后,再想上传到镜像的时候,可以上传到阿里云的Docker仓库里面 

在上传到阿里云仓库之前要先构建镜像比如MySQL、MongoDBRedis或者Java的一些标准主机镜像以外,也可以构建自己的镜像 

 

(三)阿里云Docker镜像仓库 

1. 国内第一个提供Docker服务的云计算公司2. 2016年云栖大会宣布与Docker官方合作3. 提供Docker Images镜像加速4. 提供景象仓库5. 免费注册使用6. Docker Hub中国站与Docker Hub完全一致 

 

(四)Docker分布式集群架构 

  image.png 

Docker主要是方便开发和运维团队做大规模集群化部署 

 

(五)Docker容器常用命令 

1. 搜索镜像:sudo docker search java2. 拉取镜像:sudo docker pull java3. 运行镜像:docker run4. 获取帮助:docker help5. 构建镜像:docker build6. 提交镜像:docker commit7. 新建镜像:docker create8. 运行镜像:docker run9. 重启镜像:docker restart10.查询全部:docker images11.查看信息:docker info12.推送镜像:docker push 

 

 

DockerFile命令 

Docker构建的早期需要DockerFile,就是Docker构建了一个命令文件Docker基于这个文件构建镜像并且打包镜像。 

1. Docker镜像配置文件2. 脚本编写3. 脚本文件4. 一系列命令和参数构成的脚本,5. 这些命令应用于基础镜像6. 并最终创建一个新的镜像 

 

DockerFile重要指令 

1. FROM 指定基础镜像文件  

2. MAINTAINER authors_name 作者  

3. RUN 运行特殊命令,比如下载JDK  

4. SER命令用于设置运行容器的UID  

5. VOLUME 指定容器访问目录  

6. WORKDIR 运行目录  

7. ENV 环境变量,如ENV LANG en_US.UTF-8  

8. CMD 容器执行的命令 CMD "echo" "Hello docker!"  

9. ADD 复制文件到目标文件夹  

10.COPY 复制,类似ADD  

11.EXPOSE 暴露端口  

12.ENTRYPOINT 入口,命令,只有一个不能被Run覆盖 

 

(六)Spring Boot 2.5 Docker制作镜像 

环境需求  

•docker (1.6.0 or above) 

jdk 1.8  

•Maven 3.0+或者Gradle 2.3+ 

 

Spring Boot 2.4全新docker构建工具 

•Spring Boot 2.4 推出了自己的 docker 构建工具 

•一键构建Docker镜像,无需Dockerfile 

•之前工具spotify 、fabric8,配置插件使用,需要Dockerfile 

• jib-maven-plugin是Google18 年 7 月发布的Java 镜像工具(支持 

Maven 和 Gradle),也无需Dockerfile 

•整合在原有的 spring-boot-maven-plugin 中, 

•只需要配置对应目标仓库和主机信息即可完成镜像构建。 

•新命令:mvn spring-boot:build-image 

 

(七)演示 

Dockerfile制作镜像 

FROM java:8  

•VOLUME /tmp  

•ADD java-spring-boot-docker-0.1.0.jar app.jar  

•RUN bash -c 'touch /app.jar'  

•ENTRYPOINT ["java","Djava.security.egd=file:/dev/./urandom","jar","/app.jar"] 

 

Build Docker Image with Maven 

<plugin>  

• <groupId>com.spotify</groupId>  

• <artifactId>docker-maven-plugin</artifactId>  

• <version>0.2.3</version>  

• <configuration>  

• <imageName>${docker.image.prefix}/${project.artifactId}</imageName>  

• <dockerDirectory>src/main/docker</dockerDirectory>  

• <resources> • <resource> • <targetPath>/</targetPath> 

• <directory>${project.build.directory}</directory>  

• <include>${project.build.finalName}.jar</include>  

• </resource>  

• </resources>  

• </configuration>  

• </plugin> 

 

 

Maven打包 

image.png 

image.png 

 

(八高级面试题 

1. Docker是什么?解决什么问题?  

2. Docker的优势?  

3. Swarm工具和Docker的关系  

4. K8s优势是什么?  

5. 如何安装Docker容器?  

6. 如何制作、推送Docker镜像?  

7. 如何搜索、拉取、启动Docker镜像?  

8. Docker如何容器部署Spring Boot 2.5.x和微服务 

 

相关文章
|
2月前
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
3月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
556 3
|
1月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
Spring Boot 3.x 微服务架构实战指南
|
21天前
|
XML Java 测试技术
《深入理解Spring》:IoC容器核心原理与实战
Spring IoC通过控制反转与依赖注入实现对象间的解耦,由容器统一管理Bean的生命周期与依赖关系。支持XML、注解和Java配置三种方式,结合作用域、条件化配置与循环依赖处理等机制,提升应用的可维护性与可测试性,是现代Java开发的核心基石。
|
6月前
|
人工智能 Java API
Spring AI 实战|Spring AI入门之DeepSeek调用
本文介绍了Spring AI框架如何帮助Java开发者轻松集成和使用大模型API。文章从Spring AI的初探开始,探讨了其核心能力及应用场景,包括手动与自动发起请求、流式响应实现打字机效果,以及兼容不同AI服务(如DeepSeek、通义千问)的方法。同时,还详细讲解了如何在生产环境中添加监控以优化性能和成本管理。通过Spring AI,开发者可以简化大模型调用流程,降低复杂度,为企业智能应用开发提供强大支持。最后,文章展望了Spring AI在未来AI时代的重要作用,鼓励开发者积极拥抱这一技术变革。
2201 71
Spring AI 实战|Spring AI入门之DeepSeek调用
|
8月前
|
人工智能 搜索推荐 Java
Spring AI与DeepSeek实战三:打造企业知识库
本文基于Spring AI与RAG技术结合,通过构建实时知识库增强大语言模型能力,实现企业级智能搜索场景与个性化推荐,攻克LLM知识滞后与生成幻觉两大核心痛点。
840 7
|
3月前
|
人工智能 监控 安全
如何快速上手【Spring AOP】?核心应用实战(上篇)
哈喽大家好吖~欢迎来到Spring AOP系列教程的上篇 - 应用篇。在本篇,我们将专注于Spring AOP的实际应用,通过具体的代码示例和场景分析,帮助大家掌握AOP的使用方法和技巧。而在后续的下篇中,我们将深入探讨Spring AOP的实现原理和底层机制。 AOP(Aspect-Oriented Programming,面向切面编程)是Spring框架中的核心特性之一,它能够帮助我们解决横切关注点(如日志记录、性能统计、安全控制、事务管理等)的问题,提高代码的模块化程度和复用性。
|
7月前
|
安全 Java 数据库
Spring Security 实战指南:从入门到精通
本文详细介绍了Spring Security在Java Web项目中的应用,涵盖登录、权限控制与安全防护等功能。通过Filter Chain过滤器链实现请求拦截与认证授权,核心组件包括AuthenticationProvider和UserDetailsService,负责用户信息加载与密码验证。文章还解析了项目结构,如SecurityConfig配置类、User实体类及自定义登录逻辑,并探讨了Method-Level Security、CSRF防护、Remember-Me等进阶功能。最后总结了Spring Security的核心机制与常见配置,帮助开发者构建健壮的安全系统。
400 0