内容摘要:大规模集群快速部署Java应用,需要制作Docker镜像,本次课程详细介绍如何制作Java程序的Docker镜像文件,深入解析DockerFile核心参数,以及实践演练把我们制作的Docker镜像推送到DockerHub仓库,国内可以使用阿里云Docker仓库加速,以及安全保护机制。
今天我们都来实战Java Spring Boot 2.0,制作Java Docker镜像,然后推送到DockerHub和阿里云Docker仓库,推送到公共镜像仓库的原因是便于后期大规模服务器集群部署。
1、Docker安装
如果你不熟悉安装,可以参考这个文章 《Java Spring Boot 2.0实战Docker容器与架构原理,视频与课件,基于Linux环境》https://yq.aliyun.com/articles/691596
Mac可以参考《Mac OS安装Docker容器的3种方式与差别:Docker for Mac》https://yq.aliyun.com/articles/692030
2、创建Java程序,为了制作Docker镜像

这里我们就使用最原始的Java代码,编写一个HelloWorld的例子。

基于Maven构建Spring Boot 2.0镜像文件,可以参考前面文章。
非常简单的Java代码,输出字符串信息。可以使用Eclipse工具编写。

保存为JavaDocker.java文件。
3、制作Java 原始的Docker镜像
这里还没有使用maven 项目,Maven有Docker插件,可以更方便的构建镜像。上一篇文章里讲过了。

docker build -t java-docker-demo .

会看到日志信息

Sending build context to Docker daemon  3.072kB
Step 1/5 : FROM java:8---> d23bdf5b1b1b
Step 2/5 : COPY . /var/test/java---> Using cache---> b21b800e13a1
Step 3/5 : WORKDIR /var/test/java---> Using cache---> 1926e9870140
Step 4/5 : RUN javac JavaDocker.java---> Using cache---> 8fad6e1451df
Step 5/5 : CMD ["java", "JavaDocker"]---> Using cache---> 0d18c8ddf582
Successfully built 0d18c8ddf582
Successfully tagged java-docker-hello-world:latest

Docker会生产一个镜像文件。docker images 查看镜像信息

4、注册DockerHub或者阿里云Docker仓库
国外可以在DockerHub注册镜像仓库,https://hub.docker.com。

国内可以选择阿里云Docker仓库https://cr.console.aliyun.com,
都是免费的服务器,阿里云和Docker官方合作,公益事业,同步官方的全部镜像,免费给国内开发者使用。
企业在国内大规模部署Docker镜像服务器是不错的选择。

创建仓库,并指定命令空间,后面向某个仓库提交镜像,实际里面很多官方镜像,我们可以直接搜索下载,也可以自己提交镜像。

5、推送镜像到DockerHub或者阿里云Docker仓库
在仓库创建完成以后,可以在本地推送制作好的镜像了。
第一次连接DockerHub或者阿里云Docker仓库,都需要登陆Login,输入一次用户名和密码即可,缓存起来。Mac版本的Docker一样的。
我们这里使用的是Linux环境作为测试。

sudo docker push frankxulei/alibaba-java-docker-demo


显示已经推送完成。
6、登陆DockerHub查看镜像是否成功
DockerHub网页版进入镜像仓库,可以看到刚才推送的镜像文件。

可以看到我们推送的镜像已经进入了DockerHub镜像仓库。
进行大规模部署的时候,每个服务器上的Docker客户端可以搜索我们的镜像,然后执行下载和运行命令。就可以实现快速大规模部署工作。
后期我们可以增进K8S和Docker结合实战的工作。

《第17课:Spring Boot 2.0实战Docker容器与架构原理》资料:
视频: https://yq.aliyun.com/live/880
PPT:https://yq.aliyun.com/live/880
《第18课:Java实战制作Docker镜像并推送到DockerHub与阿里云镜像仓库》资料:
视频: https://yq.aliyun.com/live/906
PPT:https://yq.aliyun.com/live/906
阿里巴巴Java群超过3000人
直播地址:Java技术进阶群
进群方式:钉钉扫码入群

阿里巴巴MongoDB群

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

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

    Java Spring Boot 2.0实战Docker容器Linux与架构原理 内容摘要:Docker是最流行的开源容器引擎,Go语言开发,在互联网大规模集群.云计算.微服务等架构中广泛使用.本次课 ...

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

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

  3. Spring Boot笔记-利用Quartz进行定时任务,利用websocket推送到浏览器(界面为thymeleaf)

    效果如下,浏览器输入URL: 等待一段时间,websocket主动推送 后端打印: 程序结构如下: QuartzConfig.java @Configuration public class Quar ...

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

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

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

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

  6. Spring Boot 3.0.0 发布第一个里程碑版本M1,你的 Java 升到 17 了吗?

    欢迎关注方志朋的博客,回复"666"获面试宝典 ‍ ‍文章来源:程序猿DD‍ ‍ 2022年1月20日,Spring官方发布了Spring Boot 3.0.0的第一个里程碑版本M ...

  7. 【直播回顾】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第19讲):Java Spring Cloud微服务架构模式与开发实战...

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

  8. 第64节:Java中的Spring Boot 2.0简介笔记

    Java中的Spring Boot 2.0简介笔记 spring boot简介 依赖java8的运行环境 多模块项目 打包和运行 spring boot是由spring framework构建的,sp ...

  9. Spring Boot 3.0 新书终于出炉,荣获京东计算机图书排行榜 TOP 1!

    大家好,我是R哥. 我的新书<Spring Boot 3 核心技术与最佳实践>折腾一年多,终于在昨天上市了,太不容易了... 有需要的可以购买学习: 本书定价 158 元,刚上市搞 5 折 ...

最新文章

  1. 小白爬虫scrapy第三篇
  2. python 定义变量_第三章(第2节):变量和常量
  3. URL转微信可识别的二维码
  4. wind试用版 matlab,免费产品试用 - MATLAB Simulink
  5. WCF服务端基于配置的实现——拦截
  6. mysql利用binlog删除数据库_MySQL数据库之mysql手动删除BINLOG的方法
  7. 本地文件上传至docker容器
  8. 推荐系统和搜索引擎的关系
  9. verilog实现多周期处理器之——(三)数据相关问题及其解决
  10. 如何判断Intent有没有对应的Activity去处理?
  11. 汇编实验 三 编程、编译、连接、跟踪
  12. PDF限制复制怎么办?怎么解决这个问题?
  13. 微信公众号使用:在微信公众号文章中嵌入小程序的方法
  14. 老A:什么是抖音弹幕互动游戏,玩法以及如何参与
  15. 磁吸数据线的特点与优势
  16. (PHP)程序中如何判断当前用户终端是手机等移动终端
  17. 360n4手机可以装linux,360手机N4 root教程_360手机N4获取root权限的方法
  18. 计算机无法进入桌面怎么备份,Windows系统损坏 | 无法进入系统如何正常备份数据?...
  19. 日常学习记录——tkinter显示excel表格中的数据
  20. DSP学习笔记之EPWM

热门文章

  1. 012_JDBC模板
  2. Windows 10 系统安装教程
  3. FPM傅里叶叠层衍射成像笔记
  4. python中importlib模块安装_importlib模块
  5. c语言i o编程,C 语言输入输出 (I/O)
  6. 计算机多媒体技术广泛应用于各个领域,多媒体技术发展前景计算机现状及
  7. app 注册防刷 php,手机验证码设计和防刷制度
  8. java crossdomin.xml_crossdomain.xml的配置详解
  9. Nginx配置Basic Auth登录认证的实现方法
  10. Java中console类的简单用法