基于alpine制作jdk8镜像

该文描述了如何在AlpineLinux3.10上创建一个Docker镜像,用于安装JDK8u221,包括下载Glibc支持,设置环境变量,并指定中文编码。最后,通过`dockerbuild`命令构建镜像,并运行容器来验证环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mkdir jdk8 && cd jdk8

wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-2.30-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-bin-2.30-r0.apk && \
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.30-r0/glibc-i18n-2.30-r0.apk && \

vim Dockerfile

FROM alpine:3.10
# 创建工作目录
WORKDIR /usr/local/jdk8
# 复制并解压jdk到当前工作目录
ADD jdk-8u221-linux-x64.tar.gz /usr/local/jdk8/
# 复制locale.md到当前工作目录
COPY locale.md /usr/local/jdk8/locale.md
COPY glibc-2.30-r0.apk /usr/local/jdk8/glibc-2.30-r0.apk
COPY glibc-bin-2.30-r0.apk /usr/local/jdk8/glibc-bin-2.30-r0.apk
COPY glibc-i18n-2.30-r0.apk /usr/local/jdk8/glibc-i18n-2.30-r0.apk

#******************使用国内的镜像Alpine安装 Glibc https://github.com/sgerrand/alpine-pkg-glibc ****
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.9/main/" > /etc/apk/repositories && \
apk --no-cache add ca-certificates wget && \
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
apk add glibc-bin-2.30-r0.apk glibc-i18n-2.30-r0.apk glibc-2.30-r0.apk && \
cat locale.md | xargs -i /usr/glibc-compat/bin/localedef -i {} -f UTF-8 {}.UTF-8 && \
rm -rf *.apk && \
rm -rf /var/cache/apk/* && \
rm -rf locale.md

#******************设置JAVA变量环境******************
ENV JAVA_HOME=/usr/local/jdk8/jdk1.8.0_221
ENV CLASSPATH=$JAVA_HOME/bin
ENV PATH=.:$JAVA_HOME/bin:$PATH
#******************指定编码******************
ENV LANG=zh_CN.UTF-8 \
  LANGUAGE=zh_CN.UTF-8
CMD ["java","-version"]

vim locale.md

en_US
zh_CN
zh_HK
zh_SG
zh_TW
zu_ZA

构建镜像

docker build -t 8u221-jdk-alpine:v1 . --network host

启动容器,查看容器的环境

docker run -it --name jdk8_test 8u221-jdk-alpine:v1 /bin/sh

env

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值