10. Spring Boot2.5 实战 Docker 容器

文章目录

  • \10. Spring Boot2.5 实战 Docker 容器
    • 一、Spring Boot2.5.x 部署方式
    • 二、 Spring Boot 实战 Docker 容器 DockerHub
    • 三、 阿里云 Docker 镜像仓库
    • 四、 Docker 分布式集群架构
    • 五、 Docker 容器常用命令
      • \1. DockerFile 命令
      • \2. DockerFile 重要指令
    • 六、 Spring Boot 2.5 Docker 制作镜像
    • 七、 演示
      • \1. Dockerfile 制作镜像
      • \2. Build Docker Image with Maven
      • \3. Maven 打包
    • 八、 高级面试题
  • 八、 高级面试题

\10. Spring Boot2.5 实战 Docker 容器

内容简介:
一、Spring Boot2.5.x 部署方式
二、Spring Boot 实战 Docker 容器 DockerHub
三、阿里云 Docker 镜像仓库
四、Docker 分布式集群架构
五、Docker 容器常用命令
六、Spring Boot 2.5 Docker 制作镜像
七、演示
八、高级面试题

一、Spring Boot2.5.x 部署方式

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

10. Spring Boot2.5 实战 Docker 容器_第1张图片

二、 Spring Boot 实战 Docker 容器 DockerHub

10. Spring Boot2.5 实战 Docker 容器_第2张图片

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

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

10. Spring Boot2.5 实战 Docker 容器_第3张图片

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

10. Spring Boot2.5 实战 Docker 容器_第4张图片

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 分布式集群架构

10. Spring Boot2.5 实战 Docker 容器_第5张图片

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

五、 Docker 容器常用命令

1) 搜索镜像: sudo docker search java
2) 拉取镜像: sudo docker pull java
3) 运行镜像: docker run
4) 获取帮助: docker help
5) 构建镜像: docker build
6) 提交镜像: docker commit
7) 新建镜像: docker create

8) 运行镜像: docker run
9) 重启镜像: docker restart
10) 查询全部: docker images
11) 查看信息: docker info
12) 推送镜像: docker push

\1. DockerFile 命令

Docker 构建的早期需要 DockerFile, 就是 Docker 构建了一个命令文件。 Docker
基于这个文件构建镜像并且打包镜像。
1) Docker 镜像配置文件
2) 脚本编写
3) 脚本文件
4) 一系列命令和参数构成的脚本
5) 这些命令应用于基础镜像
6) 并最终创建一个新的镜像

\2. 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 制作镜像

\1. 环境需求
 docker (1.6.0 or above)
 jdk 1.8
 Maven 3.0+或者 Gradle 2.3+
\2. 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

七、 演示

\1. 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”]

\2. Build Docker Image with Maven


 com.spotify
 docker-maven-plugin
 0.2.3

d o c k e r . i m a g e . p r e f i x / {docker.image.prefix}/ docker.image.prefix/{project.artifactId}
 src/main/docker

 • • /

 ${project.build.directory}

 ${project.build.finalName}.jar

\3. Maven 打包

10. Spring Boot2.5 实战 Docker 容器_第6张图片

10. Spring Boot2.5 实战 Docker 容器_第7张图片

八、 高级面试题

\1. Docker 是什么? 解决什么问题?
\2. Docker 的优势?
\3. Swarm 工具和 Docker 的关系
\4. K8s 优势是什么?
\5. 如何安装 Docker 容器?
\6. 如何制作、 推送 Docker 镜像?
\7. 如何搜索、 拉取、 启动 Docker 镜像?

八、 高级面试题

\1. Docker 是什么? 解决什么问题?
\2. Docker 的优势?
\3. Swarm 工具和 Docker 的关系
\4. K8s 优势是什么?
\5. 如何安装 Docker 容器?
\6. 如何制作、 推送 Docker 镜像?
\7. 如何搜索、 拉取、 启动 Docker 镜像?
\8. Docker 如何容器部署 Spring Boot 2.5.x 和微服务

你可能感兴趣的:(Springboot实战,docker,springcloud,java,spring,spring,boot)