制做JDK镜像

转载:https://blog.csdn.net/dannyvon/article/details/80092834node


用Alpine跑了JDK8的镜像结果发现,JDK仍是没法执行.后来翻阅文档才发现linux

    Java是基于GUN Standard C library(glibc)git

    Alpine是基于MUSL libc(mini libc)
github


 


因此Alpine须要安装glibc的库,如下是官方给出wikibash


https://wiki.alpinelinux.org/wiki/Running_glibc_programsmaven

 


至于如何安装,能够参考:ide


https://github.com/sgerrand/alpine-pkg-glibc.net


个人Dockerfileblog


FROM alpine:3.7

WORKDIR /opt

USER root
 
#******************更换Alpine源为mirrors.ustc.edu.cn******************
RUN echo http://mirrors.ustc.edu.cn/alpine/v3.7/main > /etc/apk/repositories && \
   echo http://mirrors.ustc.edu.cn/alpine/v3.7/community >> /etc/apk/repositories && \
   apk update && apk upgrade
 
 
#******************Alpine安装 Glibc https://github.com/sgerrand/alpine-pkg-glibc *****************
RUN apk --no-cache add ca-certificates && \
   wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
   wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.27-r0/glibc-2.27-r0.apk && \
   apk add glibc-2.27-r0.apk
 
ADD jdk-8u131-linux-x64.tar.gz filebeat-5.0.0-x86_64.rpm /opt/ 

#******************设置JAVA变量环境******************
ENV JAVA_HOME=/opt/jdk1.8.0_131 \
    JAVA_BIN=/opt/jdk1.8.0_131/bin \
    CLASSPATH=/opt/jdk1.8.0_131/lib:/opt/jdk1.8.0_131/jrelib:${CLASSPATH} \
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/opt/jdk1.8.0_131/bin:/opt/jdk1.8.0_131/jre/bin:/opt/maven-3.1.1/bin:/opt/node-v8.11.1-linux-x64/bin:/root/bin:${PATH
相关文章
相关标签/搜索