部署运行jar包方法全解docker镜像打包部署等

这篇具有很好参考价值的文章主要介绍了部署运行jar包方法全解docker镜像打包部署等。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本方法

java -jar 对应的jar包名字

永久后台方法

有一种叫做“nohup”的命令,该命令可以让您的应用程序在后台运行,即使您已经断开了与终端的连接也能保持运行状态。

nohup 命令的语法为:

nohup command arg1 arg2 ... argN &

 其中,command 是要运行的应用程序的命令,arg1、arg2…argN 则是该命令的参数。& 符号表示在后台运行该命令。当运行 nohup 命令时,所有的输出将写入到 nohup.out 文件中。可以通过检查这个文件来查看应用程序在后台运行的状态和输出。如果您想要停止应用程序,请使用 kill 命令,并指定应用程序的进程 ID。

运行jar包的指令

nohup java -jar XXXXXX.jar &

参数解释:

        这个命令将在后台运行 XXXX.jar 的 Java 应用程序,并将输出写入 nohup.out 文件中。您可以使用命令“tail -f nohup.out”来查看该文件的内容,以检查应用程序正在后台运行的状态和输出。

tail -f nohup.out

如果想指定日志的位置以及日志文件名称

nohup java -jar XXXX.jar >> ./log/XXXX.log 2>&1 &

代码参数说明: 

在这个命令中,输出会被重定向到 ./log/XXXX.log 文件中,使用“>>”操作符以追加的方式写入数据。其中“2>&1”表示将标准错误输出(stderr)合并到标准输出(stdout)中,以便将错误信息也写入同一个日志文件中。

这样操作可以让您更好地跟踪和调试应用程序,并根据需要对日志进行分析和处理。

日志位置:

如果将日志输出重定向到指定的日志文件(如 ./XXXX.log),那么日志文件将会在指定的路径中生成。在本例中,日志文件将生成在当前工作目录下的 log 目录中,文件名为 ad.log。

如果没有指定日志输出到特定的文件中,而是使用默认的行为,则在运行 nohup 命令时生成的 nohup.out 文件中包含了输出信息和错误信息。nohup.out 文件将生成在运行命令时的当前目录下。

请注意,日志路径的实际位置取决于在 nohup 命令中指定的路径。可以更改路径,以便生成日志文件的位置适合需求。

停止jar包运行

如果是在 Linux 操作系统上使用 nohup java -jar XXXX.jar & 运行的 jar 包,您可以使用以下命令来查看该进程:根据jar包名来查找运行的jar包

ps -ef | grep XXXXXX.jar

根据端口号来查找运行的jar包

ps -ef | grep <端口号>

这会显示一个包含进程信息的列表,其中包括进程 ID(PID),您可以使用此 ID 杀死进程:

kill

请注意,使用 kill 命令强制终止一个进程可能会导致数据损坏或其他意外的结果,因此请在确保没有正在进行重要操作的情况下使用此命令。

jar包部署docker容器中

思路:

        1、通过数据卷的方式将docker容器中的指定文件夹挂载到宿主机上,更新jar包只上传到宿主机的指定路径就可以。

        2、利用脚本bash文件来运行构建jar包,并构建该bash的镜像,代替直接运行jar包的镜像。利于镜像与jar包之间的关系健康

准备工作

1、在宿主机中创建存放docker配置文件,jar包的文件夹

在宿主机上,创建文件夹: 可以自己指定路径 ,用于存放bash文件和jar包。然后在该文件夹下面,创建一个bash文件和容器的配置文件。

2、创建bash文件

首先要看清楚自己现在所在的路径是否正确,这是我存放的位置。

部署运行jar包方法全解docker镜像打包部署等部署运行jar包方法全解docker镜像打包部署等

 在app的文件路径下创建脚本

vi run.sh

下面的是run.sh文件中的内容 

java -jar /usr/data/XXXX.jar

方法说明:

         /usr/data是docker容器内的路径。
这是docker自己管理的,我们不需要真的到docker容器内创建这个路径。
后面会将此路径挂载到当前文件夹:/usr/local/docker/app。这个脚本就是运行在docker容器中的/usr/data下面的指定jar包。

现在肯定有人疑惑,现在的jar包怎么来。或者说现在还没jar包,别急后面我们要挂载数据卷,数据卷中的jar包会同步到容器中去。现在是准备工作。

3、创建容器配置文件

创建一个dockerfile的配置文件,这个很重要再次强调这个文件一定是要在你的文件路径下的,和你的jar包位置在一起。因为这个文件一会要涉及到镜像的生成。

vi Dockerfile

 这个是dockerfile文件中的内容

FROM openjdk:8-jdk-alpine
EXPOSE 需要映射的端口号
ENTRYPOINT ["sh","/usr/data/run.sh"]

 代码说明:

这段代码是一个 Dockerfile,用于在 Docker 容器中启动一个基于 openjdk:8-jdk-alpine 镜像的 Java 应用。各行代码的解释如下:

  • FROM openjdk:8-jdk-alpine:表示此 Dockerfile 基于 openjdk:8-jdk-alpine 镜像构建。
  • EXPOSE XXXX:指定容器将监听的端口号
  • ENTRYPOINT ["sh","/usr/data/run.sh"]:指定容器启动时的命令,即在容器内运行 /usr/data/run.sh 脚本。sh 是指定命令使用的 shell,因为 /usr/data/run.sh 可能需要 shell 解析才能正确执行。ENTRYPOINT 与 CMD 功能相似,但其中指定的命令会被视为不可替代的执行文件,CMD 会被视为 ENTRYPOINT 的参数。
  • 通过“sh”来说明在启动的时候使用sh脚本文件,后面的第二个参数对脚本的位置进行了补充保证执行的时候可以正确的找到位置。
  • /usr/data/run.sh:是一个脚本文件路径,用于启动 Java 应用。

构建镜像

还是在当前文件夹下面开始构建对象,一定要注意最后一个 ‘ . ’ 表示dockerfile文件在当前目录下面。这很重要

docker build -t 给镜像命名:版本号 .

举例说明
docker build -t app:1.0.0 .

请在命名的时候使用 'name:tag'的格式来给镜像命名。

创建容器并运行

docker run -d -it --name=myapp -p XXXX:XXXX -v /usr/local/docker/app:/usr/data app:1.0.0

参数说明:

        重点:

        --name :是我们的容器的名称

        -p XXXX:XXXX:是要将主机的端口号映射到docker这个容器的端口号上去

        -v 挂载数据卷 前面的路径是我们自己设置的路径 后面的路径是docker容器中的路径

        最后是我们运行的容器的名字以及版本号

如果需要在docker重启后自动运行的话(开机自启动)文章来源地址https://www.toymoban.com/news/detail-495411.html

docker run --restart=always -d -it --name=myapp -p XXXX:XXXX -v /usr/local/docker/app:/usr/data app:1.0.0

到了这里,关于部署运行jar包方法全解docker镜像打包部署等的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue前端打包Docker镜像并nginx运行

    首先说明咱们的前端项目是基于Vue的,反向代理使用的是nginx 1.打包vue前端项目生成dist文件夹上传至服务器 新建一个文件夹,叫vueDockerTest,下面的文件都需要。 cert是你存放ssl证书的文件夹,nginx.conf 是nginx的配置文件,dist是你打包的前端静态文件 2.修改Dockerfile文件 # 基于

    2024年02月01日
    浏览(51)
  • 把java项目打包成镜像在docker中运行

    1 , 首先要准备一个maven项目,把它打成jar包 如下图:找Maven-package-运行好了之后下面有路径。  2 , 在docker下创建一个目录 mkdir   /mydocker 3 , 把打包好的java项目用Xtfp(这是一个软件,专门用来连接虚拟机上传文件的)把那个jar包拉到  /mydocker下面      连接好了之后直接

    2023年04月21日
    浏览(41)
  • Docker部署(5)——使用docker run命令部署运行jar项目

           对于一些简单的单体项目,可以使用 docker run 命令可以直接在命令行中运行容器,无需事先构建镜像。这相较于之前使用的 dockerfile 文件来运行部署项目相当于是另外一种简单的部署方法,关于之前使用dockerfile 文件来运行部署这种方法,具体可以参考下面这篇文章

    2024年02月10日
    浏览(47)
  • IDEA集成Docker插件打包服务镜像与运行【附Docker命令汇总】

    Docker官网:https://www.docker.com/ Docker Hub官网:http://hub.docker.com/ Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者和系统管理员在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括 VMs(虚拟机) 、 ba

    2024年02月01日
    浏览(34)
  • linux下jdk的安装和docker打包运行镜像

    https://www.oracle.com/java/technologies/downloads/#java8 从官网上下载linux版本的JDK JDK下载地址 通过ftp或者rz命令上传到linux 我这里需要把JDK安装在/usr/local目录下,在/usr/local下新建文件加java tar命令解压JDK包,解压地址是 /usr/local/java 接下来配置环境变量 vim命令打开/etc/profile 添加下面内

    2023年04月08日
    浏览(37)
  • Vue项目打包成docker镜像部署

    一、介绍 我们部署Vue项目,可以build之后,直接放到nginx下面即可,今天给大家介绍创建docker镜像,使用docker镜像启动容器运行部署Vue项目的方式,可以尝试尝试,原理和使用nginx部署一样,不过是使用的docker容器而已,内部还是使用的是nginx作为基础镜像。 二、docker安装 d

    2023年04月08日
    浏览(51)
  • docker网络及部署集群和打包镜像

    清空下前面的docker 镜像、容器 测试 三个网络 问题: docker 是如果处理容器网络访问的? 原理 1、我们每启动一个docker容器,docker就会给docker容器分配一个ip,我们只要按照了docker,就会有一个docker0桥接模式,使用的技术是veth-pair技术! 再次测试 ip addr 2 、再启动一个容器测

    2024年02月02日
    浏览(34)
  • 【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建的功能

     【jenkins】jenkins流水线构建打包jar,生成docker镜像,重启docker服务的过程,在jenkins上一键完成,实现提交代码自动构建,服务重启,服务发布的功能。一键实现。非常的舒服。 这是 shell脚本  脚本名称: startup.sh   本脚本的功能是在jenkins 构建完项目后,通过jar包生成dock

    2024年02月11日
    浏览(52)
  • 将本地Python项目打包成docker镜像,上传到服务器,在docker中运行

    windows11 Docker下载地址:https://docs.docker.com/desktop/install/windows-install/ 虚拟环境可以搭建独立的Python运行环境,使得单个项目的运行环境与其他项目互不影响。 安装完成之后,便可以直接创建虚拟环境了,使用命令 virtualenv env1 进行创建 其中 activate.bat 文件,表示激活虚拟环境。

    2024年02月11日
    浏览(52)
  • 若依框架(RuoYI)项目打包(jar)方法,部署到 Linux 服务器

    在若依框架的 bin 目录下,存在着三个 bat 文件,一个是清除之前的依赖的自动化 bat 脚本( clean.bat ),一个是自动化项目打包的 bat 脚本( package.bat ),一个是运行若依项目的脚本( run.bat ) 将ruoyi-admin 文件夹内的 pom.xml 文件内的 packaging 的值改成 jar 打包前,要清除之前的

    2024年02月12日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包