制作更小的springboot项目docker容器

制作更小的springboot项目docker容器

操作一:选择一个更小的基础镜像

通常情况下我们的Dockerfile文件如下

FROM java:8
VOLUME /tmp
ADD myserver.jar app.jar
RUN bash -c 'touch /app.jar'
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

然后制作完镜像后你会发现丫的将近700MB,纳尼,什么鬼??

之后我们去服务器,docker images | grep java,你会发现,如下

java                               8                   d23bdf5b1b1b        2 years ago         643MB

哇!643MB,这是一个神奇的镜像.当你甚至还没有制作自己的应用程序,基础镜像已经大出天际了.

但是不要怕不要怕,它这么大,我们不用它就可以啊.

那么我们需要找一个java基础镜像替代它,下面我就找到了,

那就是Alpine Java,当然这个也比较大,但比官方java的要小得多。如下你看到的大小:

anapsix/alpine-java                latest              c45785c254c5        3 months ago        126MB

直接比官方java小了将近520MB,有木有?

然后你把你的Dockerfile改了就好,如下

FROM anapsix/alpine-java
VOLUME /tmp
ADD myserver.jar app.jar
RUN bash -c 'touch /app.jar'
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

还有一个比较小的
openjdk:8-jre-alpine

通过Docker多阶段构建将多个层压缩为一个

未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值