Docker封装Java环境镜像(Alpine+OpenJDK)

在给Java程序封装镜像时,使用的基础镜像动辄上百M,还需要每次部署的时候挂载时区等问题,不如自己封装一个镜像,供之后使用。

这里使用Alpine Linux(3.9) 安装OpenJDK 1.8及部分常用工具并修改时区:

文末提供Dockerfile

拉取alpine镜像

docker pull alpine

运行并进入容器

docker run -itd --name alpine-java alpine

docker exec -it alpine-java sh

安装OpenJDK等

apk update

apk add openjdk8 busybox tzdata curl

修改时间

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

date

这里系统时间虽然修改过来了,但是之后运行Java程序时,时间任然相差8小时,所以需要添加如下
修改Java时区

echo Asia/Shanghai > /etc/timezone

apk del tzdata

rm -rf /tmp/ /var/cache/apk/

封装镜像并推送到仓库

docker commit alpine-java ×××debiaobiao/alpine-java

docker push ×××debiaobiao/alpine-java

懒的朋友可以直接拉做好的:

docker pull ×××debiaobiao/alpine-java
Dockerfile:

From alpine
MAINTAINER ×××debiaobiao
RUN apk update &&
apk add openjdk8 curl busybox tzdata &&
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
echo Asia/Shanghai > /etc/timezone &&
apk del tzdata &&
rm -rf /tmp/ /var/cache/apk/

喜欢的点点关注,点点赞。

对Java技术,架构技术感兴趣的同学,欢迎加QQ群585550789,一起学习,相互讨论。

群内已经有小伙伴将知识体系整理好(源码,笔记,PPT,学习视频),欢迎加群领取。

猜你喜欢

转载自blog.51cto.com/14226273/2380800