構建一個jdk8的docker鏡像

1、準備工做

1.安裝docker,並啓動: docker版本1.7.1 直接yum安裝docker的版本過低,因此這裏我採用手動安裝,也很方便。 具體怎麼安裝.....centos7 安裝docker 2.pull 下來centos鏡像:( 其實這步你不作也能夠,一下子docker build的時候docker會自動搞的)html

這個也不必定是centos的吧,各類linux應該均可以...看我的喜愛。java

docker pull centos

這樣就能夠了,沒有指定版本號....嗯,這是一個罪過...影響應該不大吧... 3.下載好jdk: 這裏要說明一下:從dockerhub上直接pull下的官方java鏡像只有OPNEJDK,至於緣由,大概就是什麼版權問題吧....沒太仔細看,有興趣的同窗能夠看這裏,搜索一下"Why is this only OpenJDK/OpenJRE?" 你就看到了...... 因此這裏下載了一下oracle-jdk, jdk 下載地址: http://download.oracle.com/otn-pub/java/jdk/8u101-b13/jdk-8u101-linux-x64.tar.gz?AuthParam=1474796748_b67a847584be479518fdb89eb9b9a930 4.這兩個要替換的文件: 至於爲何要替換這兩個class,由於最近在搞微信公衆號的事情,調用微信的api接口,https請求的時候報了一個錯誤,KeyException異常,而後又查了一下爲何這樣呢,大概就是什麼美國本身規定的.....好吧,有興趣本身查一下...... 替換的兩個文件下載地址:http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip?AuthParam=1472709826_579616e19d1f321bda1cde24b9348926linux

2、標題、準備工做作好之後,就能夠開始了

  1. mkdir dockerbuild cd dockerbuild 而後建一個一個dockerfile文件,構建鏡像用的文件:
#DOCKER 1.7.1 add auto tar -xzvf
FROM centos
# 簽名啦
MAINTAINER ln "810377936@qq.com"
ADD jdk-8.tar.gz /usr/local

#RUN tar -xzvf /usr/local/jdk-8.tar.gz

#RUN rm /usr/local/jdk-8.tar.gz

ADD local_policy.jar /usr/local/jdk1.8.0_101/jre/lib/security/local_policy.jar

ADD US_export_policy.jar /usr/local/jdk1.8.0_101/jre/lib/security/US_export_policy.jar

RUN mkdir -p /usr/lib/jvm

RUN mv /usr/local/jdk1.8.0_101/  /usr/lib/jvm/java-8-oracle/

#時區設置
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

# Set Oracle JDK 8 as default Java  
RUN update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-8-oracle/bin/java 300     
RUN update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-8-oracle/bin/javac 300     
#環境變量
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle/

接着把剛纔下載好的jdk的tar包和那兩個文件也cp到這個文件夾。docker

嗯,而後運行一個命令:centos

docker build -t liunan/java8 .

-t就是命名一下這個鏡像,最後的"." 是當前目錄下的dockerbuild文件.... 而後等等,就行了,結束之後你能夠docker images 看一下有沒沒有,像這樣。 構建以後你能夠看到你的鏡像最後的最後,能夠把鏡像導出,或者上傳的dokerhub等等各類.....由於國內網速的問題,我把鏡像導出了一份。api

docker save -o java8.tar  java:8

結束之後你能夠看到當前目錄下多出來一個java8.tar的文件,就是這個了,用的時候微信

docker load < java8.tar

嗯,就行了。 這裏貼一個:docker入門oracle

相關文章
相關標籤/搜索