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/*

 

posted @   牧之丨  阅读(1373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2015-08-04 android .9.png ”点九” 图片制作方法
2015-08-04 修改Android中strings.xml文件, 动态改变数据
点击右上角即可分享
微信分享提示