製做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
相關文章
相關標籤/搜索