docker使用java:8-alpine构建java最小运行环境

1.问题由来

项目的jar包大小为48M左右,放在docker环境中运行,使用centos作为服务器并通过从宿主机解压jdk1.8.tar.gz方式配置java运行环境,发现打包后镜像大小为600M左右。

2.Alpine

Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。在保持瘦身的同时,Alpine 还提供了自己的包管理工具 apk,可以通过 https://pkgs.alpinelinux.org/packages 网站上查询包信息,也可以直接通过 apk 命令直接查询和安装各种软件。
于是考虑使用Alpine作为最小的运行环境,docker官方也支持Apline的服务且有jdk与Alpine集成好的镜像,我们可以直接使用。

DockerFile内容如下:

FROM java:8-alpine
MAINTAINER 
## 更新apk源
RUN apk update
## 设置时区
RUN apk add -U tzdata
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
## 设置输出格式
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

完成后发现构建的镜像196M。

Alpine使用apk进行安装。使用Alpine运行的容器,如果需要进入容器内部,需要使用docker exec -it 镜像id /bin/sh命令,这一点与其他的稍微有些不一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值