Spring Boot和Alpine Linux

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/04/03/spring-boot-alpine-linux/

今天突然收到阿里云的短信,提示硬盘使用率超标,感觉特别奇怪。

因为机器上只有两个数据库和一点应用,所有的资源啥的都放在七牛上的,不应该硬盘不够用才对。

仔细看了一下发现是docker把空间吃了,速度把一些没用的image等等清理一番,硬盘使用率瞬间降到53%。

机器上所有应用都是spring boot的,也就是java8环境的,之前使用的Docker Image基于ubuntu构建,大小500M+以上,突然想起之前听闻过Alpine Linux,小巧方便,说不定可以减少镜像大小。

在网上找了一个找了一个基础镜像

frolvlad/alpine-oraclejdk8:slim

Dockerfile改造为

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD spring-boot-application.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

如果需要在镜像中构建,编译的话可能还需要bash支持

FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
RUN apk add bash
RUN ./gradlew build -x test
ADD spring-boot-application.jar app.jar
RUN apk del bash
RUN rm -rf /root/.gradle/
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

镜像大小可以节约200M+。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2016/04/03/spring-boot-alpine-linux/

《Spring Boot和Alpine Linux》有4条评论

  1. 无意中找到您做的ACG口琴网站,布鲁斯口琴也很受用,大爱,网站上无留言功能,就在这里像您表示感谢了。

    回复
    • 时区可以自己配置,在Docker文件中添加:
      1.RUN apk add tzdata
      2.RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
      3.RUN echo “Asia/Shanghai” > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
      4.ENV TZ=Asia/Shanghai

      回复

回复 htynkn 取消回复