一、创建并运行ubuntu容器
docker run --name docker_ubuntu(容器名称) -it
-v /home/docker_ubuntu:/share // 将本地路径挂载到share目录下
--restart=always --privileged=true // 设置容器退出时重启容器
-p 20000:20000 // 映射内外端口,这里可以多个端口,为了以防万一,可以写多个-p的端口备用
docker.io/library/ubuntu // ubuntu来源
/bin/bash // shell命令
// 一行如下
docker run --name docker_ubuntu -it -v /home/docker_ubuntu:/share --restart=always -p 20000:20000 --privileged=true docker.io/library/ubuntu /bin/bash
二、容器内创建java环境
1、下载jdk的gz包(网上找资源,1.8版本以上比较好)
2、下载vim
OO:我这版本是没有vi、vim指令的,所以需要先下载
第一步:更新安装源:
apt-get update
第二步:更新完毕以后再敲命令:
apt-get install -y vim
3、编辑.bashrc文件:
第一步:
vi ~/.bashrc
第二步:按“i”,在数据内容最后按enter键,添加如下内容;完成后按ESC退出编辑,按Shift+:wq! 保存退出文件。
export JAVA_HOME=/share/java/jdk1.8.0_101 // 根据你实际的jdk存放位置
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
export PATH=$PATH:$JAVA_HOME/bin
第三步:使得立马生效
source ~/.bashrc
三、编写运行脚本,启动容器时,运行该脚本
第一步:打开脚本文件
vi /root/run.sh
第二步:写入脚本数据
#!/bin/bash
source ~/.bashrc
第三步:运行脚本添加执行权限
chmod u+x /root/run.sh
此时,在容器内输入:java -version即可看到jdk的版本信息!
四、将jar包放入挂载的本地路径下,使用nohup守护指令启动jar包
nohup java -Dfile.encoding=utf-8 -Xms1024m -Xmx2048m -XX:MetaspaceSize=1028m -XX:MaxMetaspaceSize=2048m -jar xxx.jar >nohup/xxx.log &
题外话:本人用的若依框架,日志用的logback,要注意的是,几个jar包必须在其当前目录下启动,否则不会在jar同级生成各自的log文件包,具体原因没去查,可能是原配置的问题吧。
参考文献:https://huaweicloud.csdn.net/63311d28d3efff3090b5297f.html