製作更小的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多階段構建將多個層壓縮爲一個

未完待續…

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