Java Spring Boot 2.0实战Docker容器Linux与架构原理
内容摘要:Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群、云计算、微服务等架构中广泛使用。本次课程一起学习Docker容器架构原理、如何基于Linux系统实战实战Docker容器,打包、发布、运行 Java Spring Boot 2.0应用。
Docker分布式架构,Docker是一套生态工具平台,包括客户端、服务端、仓库、集群工具等。

如果你已经熟悉Docker的基本使用,可以直接从第7小节阅读,直接看Spring boot实战Docker的部分内容。

Docker 提供了两个版本:社区版 (CE) 和企业版 (EE)。
Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选。
Docker CE 有两个更新渠道,即 stable 和 edge:
Stable 每个季度提供可靠更新;
Edge 每个月提供新功能更新。一般我们选择stable可以了,本文实战选择也是。
在2016年10月13日,杭州·云栖大会上,Docker与阿里云宣布达成战略合作,Docker的中国镜像仓库由阿里巴巴提供,国内开发者可以免费使用。
今天我们的演示也使用阿里云Docker仓库。我们选择的是Linux Ubuntu 16.04系统。
1、安装首先安装传输加密组件,然后来下载docker
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

2: 安装阿里云docker 安全协议GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

3: 仓库写入软件源信息,选择stable版本
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

4: 更新资源列表,安装新版本Docker-CE,社区版本。
sudo apt-get -y update
sudo apt-get -y install docker-ce

5、检查Docker版本,是否成功安装
输入docker version命令,可以查看安装的Docker版本信息。

6、运行Docker Hello World
最简单的例子就是 Hello world,docker会从服务器拉去hello world镜像,并且在本地运行。
sudo docker run hello-world

Docker安装成功,并且可以执行最简单的镜像,入门例子。下面开始安装特殊的镜像,Mongodb作为例子。

7、Docker制作java Spring Boot 镜像

新建Java Spring Boot项目,这里需要解除Maven自动构建Docker镜像,使用辅助插件。在项目里配置POM。

推荐使用Linux 或者Mac OS可以安装docker,因为Maven构建Docker镜像需要Docker服务器支持。

 <!-- tag::plugin[] --><plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.4.9</version><configuration><repository>${docker.image.prefix}/${project.artifactId}</repository></configuration></plugin>

插件的XML配置

<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>

创建重要的Dockerfile文件,用于打包镜像。基本是程序的主要运行参数信息。以及我们的java Spring Boot的Jar包。

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","hello.Application"]

Java Spring Boot 集成Docker插件的项目结构:

执行命令mvn install dockerfile:build。

构建并生成Docker镜像文件,可以选择上传到DockerHub服务器。

8、Docker搜索Spring Boot镜像

我们也可以选择去Docker Hub拉去通用的镜像,比如MySQL、MongoDB、Redis、MQ等,

使用Docker Search 关键字 即可,然后可以选择拉去需要的镜像,节约时间。

9、Docker拉去 Spring Boot 镜像

在命令中输入sudo docker pull  springio/gs-spring-boot-docker 等待下载。

10.Docker运行Spring Boot应用

下载完毕以后,我们就可以技术来使用Docker运行我们的Spring Boot应用。使用命令:

sudo docker run -p 8080:8080 -t springio/gs-spring-boot-docker

如果没有错误,应该正常启动,端口是8080,我们这里访问http://localhost:8080/hello 可以看到简单的字符串 Hello Docker。

基本就完成了,大量的运维、部署工作可以通过Docker来完成,尤其是大规模集群,几百、上前台服务的情况。Docker简化的配置、统一部署的工作。

使用起来十分方便,除了我们自己特殊的应用打包,绝大部分的数据库、中间件等都有官方的Docker镜像。

参考:

http://maven.apache.org/install.html

https://github.com/spring-guides/gs-spring-boot-docker

https://docs.docker.com/

《第17课:Spring Boot 2.0实战Docker容器与架构原理》资料:

视频: https://yq.aliyun.com/live/880

PPT:https://yq.aliyun.com/live/880

阿里巴巴Java群超过3000人
直播地址:Java技术进阶群
进群方式:钉钉扫码入群

阿里巴巴MongoDB群

Java Spring Boot 2.0实战Docker容器与架构原理,视频与课件,基于Linux环境...相关推荐

  1. Java Spring Boot 2.0 实战之制作Docker镜像并推送到Docker Hub和阿里云仓库

    内容摘要:大规模集群快速部署Java应用,需要制作Docker镜像,本次课程详细介绍如何制作Java程序的Docker镜像文件,深入解析DockerFile核心参数,以及实践演练把我们制作的Docke ...

  2. Spring Boot 2.0:Docker Compose + Spring Boot + Nginx + Mysql 实践

    Spring Boot 2.0:Docker Compose + Spring Boot + Nginx + Mysql 实践 Spring Boot + Nginx + Mysql 是实际工作中最常 ...

  3. Java Spring Boot 3.0.0 RC1 震撼登场!

    备受期待的Spring Boot 3.0.0 RC1现在已经推出. 微信搜索关注<Java学研大本营>,加入读者群,分享更多精彩 Phil Webb两天前在Spring博客上宣布,备受期待 ...

  4. 用idea插件将一个spring boot项目部署到docker容器里运行

    修改docker配置文件 1.编辑docker.service脚本 /usr/lib/systemd/system/docker.service 2.在docker.service中加入脚本并保存退出 ...

  5. 云栖社区特邀专家徐雷——Java Spring Boot开发实战系列课程【往期直播回顾】...

    徐雷,花名:徐雷frank:资深架构师,MongoDB中文社区联席主席,吉林大学计算机学士,上海交通大学硕士.从事了 10年+开发工作,专注于分布式架构,Java Spring Boot.Spring ...

  6. Spring Boot 2.0 都更新了什么

    Spring Boot 2.0 都更新了什么 2018 年 3 月 1 号 Spring Boot 2.0.0.RELEASE 正式发布,这是 Spring Boot 1.0 发布 4 年之后第一次重 ...

  7. Spring Boot 揭秘与实战(二) 数据缓存篇 - Guava Cache

    本文,讲解 Spring Boot 如何集成 Guava Cache,实现缓存. 博客地址:blog.720ui.com/ 在阅读「Spring Boot 揭秘与实战(二) 数据缓存篇 - 快速入门」 ...

  8. 实战Spring Boot 2.0系列(一) - 使用Gradle构建Docker镜像

    前言 通常我们使用 Dockerfile 来构建项目的 Docker 镜像.但是也有使用 gradle 在编译项目的时候一起把镜像给 构建 并 上传 的需求.本文将会讲解如何使用 gradle 编写并 ...

  9. Spring Boot 2.0(四):使用 Docker 部署 Spring Boot

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...

最新文章

  1. 实习日志(2)2011-12-30
  2. 用大白话讲解RxJava原理
  3. magento获取判断当前页或句柄handles
  4. Python_note4 程序控制结构+random库的使用
  5. 深入分析 java 8 编程语言规范:Threads and Locks
  6. 精准扶贫谋定产业化-农业大健康·万祥军:东平农业品牌化
  7. 前端javascript经典面试题集合(2020年最新)
  8. 猜数游戏python_零基础掌握Python入门到实战
  9. 树莓派 4B 配置 Ubuntu20.04 和 ROS2
  10. 轻松一刻,python乌龟绘图-小猪佩奇,可爱乌龟,新冠病毒
  11. php foreach 不等于_PHP性能优化小技巧
  12. InnoDB Undo Log
  13. 大牛直播SDK(android/iOS部分)最新功能列表
  14. ffmpeg sdk 的一些资料博客地址
  15. Entegris EUV 1010光罩盒展现极低的缺陷率,已获ASML认证
  16. mysql,php,redis,jq小记
  17. html+css简单的实现360搜索引擎首页面
  18. 不管发生什么事,最重要的是拥有乐观积极的心态,困难总会过去的。
  19. 揭秘“1200工程”:苏宁如何培养企业接班人? | 一点财经
  20. 计算机组成原理实验一:运算器组成的实验

热门文章

  1. 移动竞争对手营销活动应对方案
  2. excel单元格斜线_Excel技巧 | 如何快速绘制斜线表头
  3. 奇偶性与魔术(二)——数学到魔术的初体验
  4. Cocos Creator 性能调优:如何减少 2D/3D DrawCall?
  5. 学习3dmax多边形建模挤出操作
  6. 内网服务器通过CCproxy代理上网(…
  7. 京东,你玩的是众筹还是预售?
  8. 闲鱼快速引流玩法3个实用分享!闲鱼自动化引流脚本!
  9. 先出报表还是先计提所得税_计提所得税是在结转损益前还是后
  10. JavaScript-数组乱序