创建基于oracle jdk8的自定义docker镜像
1:查看服务器java版本:
如果服务器的版本是open-jdk,则进行如下操作
拷贝相关jdk压缩包(.tar.gz后缀)到服务器目录(例:/usr/local)
解压:
tar -zxvf /usr/local/jdk-8u351-linux-x64.tar.gz -C ./
配置环境变量:
vim /etc/profile
在文件结尾追加如下代码:
export JAVA_HOME=/usr/local/jdk1.8.0_351
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
查看安装了哪些jdk:
sudo update-alternatives --display java
设置需要的jdk
alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_351/bin/java alternatives --install /usr/bin/java javac /usr/local/jdk1.8.0_351/bin/javac 1
设置java版本
sudo update-alternatives --config java
设置javac版本
alternatives --config javac
上述几部操作成功之后输入java -vsersion进行验证
创建oracle-jdk文件夹
注意路径,我的完整路径是/usr/local/share/oracle-jdk
sudo mkdir oracle-jdk
移动jdk包到oracle-jdk文件夹
sudo mv ./jdk-8u351-linux-x64.tar.gz ./oracle-jdk/
创建Dockerfile
sudo touch Dockerfile
编辑Dockerfile
sudo vi Dockerfile
接着把下面代码复制到Dockerfile中
FROM centos
# 作者名
MAINTAINER Dr.Monster
# 防止中文乱码
ENV LANG C.UTF-8
ADD jdk-8u351-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_351
ENV JRE_HOME /usr/local/jdk1.8.0_351/jre
ENV CLASSPATH $CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
ENV PATH $JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
# 启动容器执行的命令,仅用于验证安装配置是否正确,生产环境使用需注释后再build
ENTRYPOINT ["java","-version"]
注意红色字体部分与本地的环境变量地址一致
接着保存退出,然后生成镜像
sudo docker build -t oracle-jdk:8 .
后面有个点别忘记了
构建完成后,查看镜像库
sudo docker images
验证安装配置是否正确
sudo docker run oracle-jdk:8
给镜像打上tag
docker tag oracle-jdk:8 10.20.0.9:9991/oracle-jdk
推送到镜像仓库上
docker push 10.20.0.9:9991/oracle-jdk
在工程里引入对应的jdk镜像
然后就没有然后了......