android 摄像头预览左右镜像_OpenJDK镜像的tag说明
先來聊聊為什么會用到openjdk鏡像。
關于java應用的docker鏡像
將java應用做成docker鏡像時,需要鏡像中帶有jdk或者jre環境,通常有三種情況:
三種方式各有優劣
上述三種方式各有優劣:第一種,完全自己動手,可控性強,但增加了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
總結
以上是生活随笔為你收集整理的android 摄像头预览左右镜像_OpenJDK镜像的tag说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经纬度之间的距离计算
- 下一篇: “docker-app”实用工具分享,大