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
#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