java容器化openjdk镜像不完全对比指北

2019-07-13  本文已影响0人  wu_sphinx

接上一篇,上篇java的openjdk镜像为openjdk:8-jdk-alpine, 只有105MB,这一次我们换用官方镜像openjdk:8,镜像大小为:145MB, 看起来也不大(我司服务尚未容器化,上头为了“减少风险”,使用与生产环境相同的centos系统作为基础镜像,镜像大小接近600M, 在此按下不表)
Dockerfile稍有变动

FROM openjdk:8
ADD /target/demo-0.0.1-SNAPSHOT.jar app.jar
CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

制作好镜像

REPOSITORY                                                 TAG                 IMAGE ID            CREATED             SIZE
registry.cn-shanghai.aliyuncs.com/testops/hw-java-debian   latest              de780920b05a        20 minutes ago      505MB

镜像大小505M, so big.
运行之


image.png

看一看资源占用情况

image.png
内存战用为:266.9MiB ,与 openjdk:8-jdk-alpine版本的264.2MiB几乎无差别,以在下的实验环境对比可知:openjdk镜像对java服务的性能影响不大,不过服务镜像一个505MB, 一个122MB, 在服务部署过程上,第一次下载大镜像时,相对就比较吃力了,而且alpine镜像够小,环境更纯净,攻击面够小,总结起来就:短小精悍,在服务较多时比较,优势明显,不过从传统部署到容器化的过程中,更多人还是喜欢使用openjdk:8这类大尺寸镜像,由于理解上的差异,习惯性把容器当虚拟机使用,唉,总得有一个观念改变和适应的过程不是。
我个人还是更喜欢alpine这类小一点的镜像,体验上更好一些,虽然客观来看,现在还看不出明显的性能差异,当然这也是推广中比较头疼的一点。
ps: 之前我一直认为alpine制作出的镜像性能占优,还是得要数据说话
上一篇下一篇

猜你喜欢

热点阅读