docker之更新jar问题

 更新时间:2023年08月23日 11:26:44   作者:yzhSWJ  
这篇文章主要介绍了docker之更新jar问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Dockerfile

# Docker image for springboot file run
# VERSION 0.0.1
# Author: eangulee
# 基础镜像使用java
FROM java:8
# 作者
MAINTAINER eangulee <eangulee@gmail.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
VOLUME /tmp
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/data/dockerlearn.jar"]

这里的第四个参数 /data/dockerlearn.jar,表示jar包在容器中的位置。

镜像文件

jar放在data里面

1.生成镜像 注意 点

 docker build -t dockerlearn .

2.创建容器 可能未启动

  docker run --name dockerlearn -it -v /home/app/dockerlearn:/data -d -p 8088:8088 dockerlearn
  • -- name dockerlearn :容器名
  • -v /home/app/dockerlearn :挂载到主机该目录下
  • -p 8088:8088 dockerlearn :映射端口号,和镜像名称

3.然后启动容器

docker start dockerlearn

4.这样每次更新的jar包时,将新jar包放入宿主机的“/home/app/dockerlearn”目录下即可。

5.然后docker stop启动的容器,然后再docker start容器就可以了。就将新的应用进行了发布。

jar 放到到该目录下

方式二

1.编写一个sh脚本

名字自己随便取一个,我这里文件名叫“hello.sh”,内容如下:

java -jar /usr/data/hello-2.0.0-SNAPSHOT.jar

文件存放到与宿主机挂载的容器内部文件夹中

2.编写Dockerfile文件

FROM java:8
EXPOSE 8888
CMD ["sh","-c","/usr/data/hello.sh"]

CMD [“sh”,"-c","/data/eurekaclient.sh"] 就是在容器启动时启动上一步创建的.sh脚本。

3.制作镜像

docker build -t hello:demo .

4.创建容器

docker run -di --name=mydemo -p 8000:8888 -v /usr/local/apps/hello:/usr/data

5.完成并测试

这样,就完成了,如果后面更新jar的话,直接将新的jar包替换到宿主机挂载的目录下即可,如果文件名发生改变的话,可以直接修改sh脚本文件即可。更新完jar包之后记得需要重启容器:

docker restart 容器名

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker中时区问题的处理方法

    docker中时区问题的处理方法

    这篇文章主要给大家介绍了关于docker中时区问题的处理方法,文中通过示例代码介绍的非常详细,对大家学习或者使用docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Docker安装redis并且设置密码,以及进入容器修改密码方式

    Docker安装redis并且设置密码,以及进入容器修改密码方式

    这篇文章主要介绍了Docker安装redis并且设置密码,以及进入容器修改密码方式,
    2024-01-01
  • Docker容器迁移Oracle到MySQL的实现方法

    Docker容器迁移Oracle到MySQL的实现方法

    本文主要介绍了Docker容器迁移Oracle到MySQL的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 解读docker运行时-itd参数是什么意思

    解读docker运行时-itd参数是什么意思

    在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景
    2025-03-03
  • Docker中镜像构建文件Dockerfile与相关命令的详细介绍

    Docker中镜像构建文件Dockerfile与相关命令的详细介绍

    这篇文章主要介绍了Docker中镜像构建文件Dockerfile与相关命令的相关资料,文中介绍的很详细,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-02-02
  • Linux下docker安装mysql8并配置远程连接

    Linux下docker安装mysql8并配置远程连接

    本文主要介绍了Linux下docker安装mysql8并配置远程连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • Docker容器磁盘占满的一些情况汇总

    Docker容器磁盘占满的一些情况汇总

    这篇文章主要给大家介绍了关于Docker容器磁盘占满的一些情况,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Windows(Win11)如何安装Docker(Docker Desktop)

    Windows(Win11)如何安装Docker(Docker Desktop)

    这篇文章主要介绍了Windows(Win11)如何安装Docker(Docker Desktop),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • Docker compose一键安装mirai搭建QQ机器人最快操作方法

    Docker compose一键安装mirai搭建QQ机器人最快操作方法

    这篇文章主要介绍了Docker compose一键安装mirai,搭建QQ机器人最快方法,详细介绍了mirai基本操作,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-04-04
  • Docker镜像重命名的实现方法

    Docker镜像重命名的实现方法

    本文主要介绍了Docker镜像重命名的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论