背景
docker基本镜像环境:Ubuntu
目标安装java环境
jdk下载
docker环境下只有命令行环境,所以无法通过登录oracle官方网站下载安装介质。
由于现在oracle现在下载安装介质必须先注册登录,所以导致无法通过wget
下载,还需要在docker外先下载jdk介质,然后拷贝至docker内:
1 | docker cp /Users/zhengk/Downloads/jdk-8u221-linux-x64.tar.gz b9e5ebd23a78:/tmp |
安装jdk
解压jdk
1 | cd /tmp |
确定jdk路径
1 | mv /tmp/jdk1.8.0_221 /home/jdk1.8.0_221 |
配置环境变量
1 | vim /etc/profile |
增加以下内容:
1 | set java env |
配置启动文件
由于docker镜像启动后,会丢失环境变量。可采取两种方式规避:
- 运行镜像时配置环境变量参数
- 在启动文件中配置环境变量
这里采取第二种方式:
在根目录创建run.sh
文件:
1 | vim /home/run.sh |
增加如下内容:
1 | !/bin/bash |
该启动文件中可增加其他启动内容,后续可直接用于启动镜像内容。
提交镜像
1 | docker commit 50f6af712d06 keejo/anyq:1.0 |
docker启动
1 | docker run -t -i -p 8999:8999 keejo/anyq:1.0 /home/run.sh |
启动后,就已经加载了java的环境变量了。
扩展
关于Ubuntu的jdk安装,网上很多推荐使用apt-get
的方式:
1 | apt-get upgrade |
但该方法目前已经失效了。