这两天项目里需要使用opencv的库,springboot需要添加opencv,最终确认使用已有的docker4.6+jdk1.8进行改写,首先想到的就是直接将1.8卸载,安装上17,之后再打包,发布到dockerhub上,之后docker-compose下载使用。
开始操作,在oracle官网上下载了jdk17,上传至服务器,解压,配置环境变量,java -version一切正常,commit后再次输入java -version发现没有java,打印环境变量发现没有java17路径,出现了第一个问题。
感觉应该是环境变量在docker重启时被冲掉了,查了一下说是要在./root/.bashrc下配置,但这种配置只对root用户生效,考虑发现没有问题,因为我们用的就是root启动的docker,打包, 启动docker,发现没有问题。
接着搞。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上传到dockerhub上,使用docker-compose构建,出现问题,提示如下错误。
Java Runtime (class file version 61.0), this version of the Java Runtime only ...55.0
使用docker run单独跑容器,发现没有问题,接着仔细检查发现是home文件夹挂载问题。我的jdk文件夹是放在home目录下的,然后home挂在了其他内容把jdk文件夹覆盖了,于是没有jdk17了,但是为什么会出现55呢?
55对用的是java11,仔细检查,发现系统自带了openjdk11,于是将其卸载掉,再次打包上传至dockerhub,再次拉取,再次报错,提示的是python报错,没有图了。
仔细检查报错信息,发现是启动时执行java -jar时报错了,因为没有java环境,为什么呀?我已经部署了java17呀,而且单独run这个镜像没有问题,后来仔细查了一下发现需要使用dockerfile
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
于是使用Dockerfile构建容器在里面创建文件夹,上传jdk安装包,是个压缩包(会自动解压)。设置环境变量。docker构建完成直接上传至dockerhub,拉取验证,没有问题了。。
标签:文件夹,java,dockerhub,一记,version,遇见,docker,环境变量 From: https://www.cnblogs.com/liuth-0214/p/17986355