前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >openjdk镜像的tag说明

openjdk镜像的tag说明

作者头像
程序员欣宸
发布2019-07-01 15:05:41
6.7K0
发布2019-07-01 15:05:41
举报
文章被收录于专栏:实战docker实战docker

先来聊聊为什么会用到openjdk镜像。

关于java应用的docker镜像

将java应用作成docker镜像时,需要镜像中带有jdk或者jre环境,通常有三种情况:

  1. 在Dockerfile中加入安装jdk环境的脚本;
  2. 镜像中只有应用jar包,启动容器时通过数据卷映射(-v参数)将宿主机的jdk文件夹映射到容器内;
  3. 使用带有jdk的镜像作为基础镜像;

三种方式各有优劣

上述三种方式各有优劣: 第一种,完全自己动手,可控性强,但增加了Dockerfile编写的工作量,脚本质量要自己保证; 第二种,要求宿主机预先部署jdk,增加了宿主机工作量; 第三种,相对工作量小一些,如果找的基础镜像不合适,会导致做成的镜像体积过大,或者多了些不需要的内容;

今天要聊的话题,就是如果使用第三种方式镜像选择怎么选;

基础镜像的选择

去hub.docker.com上搜索jdk官方镜像,关键字openjdk,可以搜到官方镜像,点进详情页后寻找我们常用的jdk8的镜像,发现有很多个,如下图:

在这里插入图片描述
在这里插入图片描述

如此多的的tag,我们又该如何选择呢,接下来就来分析一下吧;

stretch关键字

以8-jre-stretch这个tag为例,其中的stretch表明这个镜像的操作系统是debian9,这是debian的一个稳定版本,官方信息如下,地址是:https://wiki.debian.org/DebianStretch

在这里插入图片描述
在这里插入图片描述

类似的标签还有jessie,这是debian的上一个稳定版本:

在这里插入图片描述
在这里插入图片描述

alpine关键字

以13-ea-19-jdk-alpine3.9这个tag为例,其中的alpine表明镜像的操作系统是alpine linux,alpine linux本身很小,alpine镜像的大小是5M左右,如下图,因此以alpine作为基础镜像构建出的openjdk镜像也很小:

在这里插入图片描述
在这里插入图片描述

oraclelinux7关键字

以13-ea-oraclelinux7这个tag为例,其中的oraclelinux7表明镜像的操作系统是Oracle Linux 7,从jdk12开始,openjdk官方开始提供基于Oracle Linux 7的jdk镜像;

slim关键字

以8-jre-slim这个tag为例,其中的slim表明当前的jre并非标准jre版本,而是headless版本,该版本的特点是去掉了UI、键盘、鼠标相关的库,因此更加精简,适合服务端应用使用,官方的建议是除非有明确的体积限制是再考虑使用该版本;

ea关键字

以13-ea-19-jdk-alpine3.9这个tag为例,其中的ea的意思是"Early Access",这里代表jdk13正是发布之前的预览版本,该版本带有新特性并且修复了若干bug,但毕竟是预览版,质量还未达到release要求,不推荐生产环境使用;

至此,常见的tag关键字已经弄清楚了,在您面对各种tag的官方镜像时,希望本文能给您提供一些参考,更多详情请参考官方文档: https://github.com/docker-library/docs/blob/d4f015a4a99883c6b8691ec6aaf24a74cd02916a/openjdk/README.md

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年06月30日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于java应用的docker镜像
  • 三种方式各有优劣
  • 基础镜像的选择
  • stretch关键字
  • alpine关键字
  • oraclelinux7关键字
  • slim关键字
  • ea关键字
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档