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