珂泽小站 - jar
type: channel
link: https://www.kezez.com/tag/jar/
items: Docker 构建可运行 jar 包的镜像及容器
items: jar包部署运行与停止运行命令

Docker 构建可运行 jar 包的镜像及容器
type: item
date: 2022-07-30T21:45:00+08:00
description: 首先准备好jar包，然后将jar包上传至服务器。编写Dockerfile使用vim创建Dockerfile文件vim Dockerfile点击键盘上的i按键切换到编辑模式# Author: kaygb # 基础镜像使用openjdk11 FROM openjdk:11 # 作者 MAINTAINER kaygb <hi@kezez.com> # VOLUME 指定临时文件目录为/tmp。 VOLUME /tmp # 将jar包添加到容器中并更名为app.jar ADD xxx.jar /xxx.jar # 设置端口 EXPOSE 8080 # 运行jar包 CMD exec java -jar xxxxx.jar编辑完成后先点击esc按键，然后输入:wq 保存退出构建镜像docker build -t 镜像名[:版本号] .构建完成后，查看一下镜像docker images删除镜像docker image rm 容器id创建容器运行容器docker run -it --name=容器名 -p=宿主机端口:容器端口 -v=/宿主机目录：/容器目录 镜像名:版本通过ps命令可以查看容器运行状态# 查看运行中的容器 docker ps # 查看全部容器 docker ps -a 一些运行相关的命令# 启动 docker start [id] # 停止 docker stop [id] # 重启 docker restart [id]删除容器docker rm [id]

jar包部署运行与停止运行命令
type: item
date: 2022-03-26T18:06:00+08:00
description: 运行jar包直接通过java-jar的方式可直接在终端前台运行jar包，也会直接动态显示日志，这个方式可以测试jar包能不能正常的运行。java -jar hgnuman-1.3.0-RELEASE.jar 如果测试莫得问题，那么就可以ctrl+c退出程序，就让这个jar包后台运行了sudo -u www nohup java -jar hgnuman-1.3.0-RELEASE.jar >hgnuman.log 2>&1 &这个命令中，我切换到了www用户来执行，nohup让程序在后台执行，后面的log就是让这个程序的日志输出到当前目录下，当然名称可以随意更改。运行这个命令后会返回程序的PID，等待一会程序就正常运行了。停止jar包运行如果是前台的话，直接ctrl+c即可停止，如果是在后台运行，那就可通过下方的命令来找到当前正在运行jar包的pid，然后通过kill命令干掉这个程序。ps aux|grep hgnuman-1.3.0-RELEASE.jar这里可以看到PID是30268，我们kill掉他kill 30268执行之后如果没有任何输出，那就说明已经kill掉了，因为没有结果就是最好的结果。