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,学习视频),欢迎加群领取。