java项目中实现权限管理_手把手教你实现Java权限管理系统 后端篇(十六):容器部署项目…

  • Post author:
  • Post category:java


容器部署项目

这一章我们引入docker,采用docker容器的方式部署我们的项目。

首先需要有一个linux环境,并且安装 java 和 maven 以及 docker 环境,这个教程多如牛毛,不再赘述。

这里以 kitty-monitor 为例。

添加配置

在 pom.xml 的 properties中添加 Docker 镜像名称。

kitty

在 plugins 中添加 Docker 构建插件配置。

org.springframework.boot

spring-boot-maven-plugin

com.spotify

docker-maven-plugin

1.0.0

${docker.image.prefix}/${project.artifactId}

src/main/docker

/

${project.build.directory}

${project.build.finalName}.jar

在目录src/main/docker下创建 Dockerfile 文件,Dockerfile 文件用来说明如何来构建镜像。

FROM openjdk:8-jdk-alpine

VOLUME/tmp

ADD kitty-monitor-1.0.0jar app.jar

ENTRYPOINT [“java”,”-Djava.security.egd=file:/dev/./urandom”,”-jar”,”/app.jar”]

这个 Dockerfile 文件很简单,构建 Jdk 基础环境,添加 Spring Boot Jar 到镜像中,简单解释一下:

FROM ,表示使用 Jdk8 环境 为基础镜像,如果镜像不是本地的会从 DockerHub 进行下载

VOLUME ,VOLUME 指向了一个/tmp的目录,由于 Spring Boot 使用内置的Tomcat容器,Tomcat 默认使用/tmp作为工作目录。这个命令的效果是:在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录

ADD ,拷贝文件并且重命名

ENTRYPOINT ,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT

上传项目

将项目 kitty-monitor 拷贝服务器中,如我这里上传到 /usr/kitty/ 目录下

36ee4c33df37a0c4d9467ce2c878c889.png

打包测试

进入项目根路径,执行以下命令进行打包。

#打包

mvn package

编译成功

97bf06a344614c82bdf4af31bb943973.png

编译成功之后,查看 target 目录下面正常生成了 jar 包。

6e8fa135e6161f9e2f93986769593e03.png

执行以下命令启动应用。

#启动

java-jar target/kitty-monitor-1.0.0.jar

启动过程。

5c4fd32d7ef7a26f80c468787c8f3362.png

启动成功之后访问 服务器:端口号 ,出现如下界面。

f4818bee9dfcab677c631c479c776559.png

构建Docker镜像

执行以下命令,构建docker镜像。

mvn package docker:build

出现如下界面就说明镜像构建成功了。

4dad127bca1084d7e933499bb3b4e9f3.png

通过命令查看构建好的镜像。

docker images

我们看到的 kitty/kitty-monitor 就是我们构建好的镜像。

e5531104004d46e14f2d26b58506b3a7.png

执行以下命令启动一个docker容器。

docker run -p 8000:8000 -d kitty/kitty-monitor

说明:

-p 8000:8000 将主机端口映射到容器端口

-d 启用后台进程运行程序

通过以下命令,可以查看运行中的容器。

docker ps

4f590bab91f6e1d21b8a026807fdcbcb.png

启动成功之后,访问 主机:端口号访问监控服务页面,显示正常。

fb74e5f53e9a7c769375f3b1d3e8872b.png

备份服务、权限管理系统服务同理。

应用启动关闭

启动应用

java -jar XXX.jar #前台启动,退出命令行服务就停止了

java -jar xxx.jar & #后台启动,终端退出后仍继续运行

java -jar xxx.jar > catalina.out 2>&1 & #重定向控制台输出到日志文件

说明:

catalina.out将标准输出指向制定文件catalina.out文件,可以自定义文件名称。

2>&1 输出所有的日志文件

& 表示后台启动程序

查杀应用

ps -ef|grep ‘java -jar‘  #查看运行中的进程

jobs  #查看后台任务

kill %num #通过jobs命令查看job号(假设为num),然后执行kill %num

kill pid #通过ps命令查看job的进程号(PID,假设为pid),然后执行kill pid

源码下载

原文:https://www.cnblogs.com/xifengxiaoma/p/9724026.html



版权声明:本文为weixin_35378583原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。