当前位置:主页 > 查看内容

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

发布时间:2021-06-17 00:00| 位朋友查看

简介:哈喽各位同学们大家好呀 小编今天为大家分享开发者学院中课程“Spring Boot2.5实战Docker容器”干货总结哦 并且是Spring Boot 2.5.x开发实战的最后一篇~Spring Boot 2.5.x开发实战可是Java中级工程师必备课程 课程链接以及图谱地址小编已经为大家指路了 搭配……

哈喽各位同学们大家好呀 小编今天为大家分享开发者学院中课程“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?spm a2c6h.21254954.0.0.4e905907uoWZzr

图谱名称 Alibaba Java 技术图谱

图谱地址 https://developer.aliyun.com/graph/java?spm a2c6h.21110250.J_5703890090.6.700e3c67EjOBeJ

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

Spring Boot2.5实战Docker容器


一 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、MongoDB、Redis或者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和微服务?

?


本文转自网络,原文链接:https://developer.aliyun.com/article/784759
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文


随机推荐