制作更小的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多阶段构建将多个层压缩为一个

未完待续…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章