构建一个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

相关文章
相关标签/搜索