栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker 替换容器中的Jar

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 替换容器中的Jar

之前项目构建Docker容器部署时每次代码更新都要重新构建一次镜像,导致Docker images -a 时候会有很多none的镜像。

记录一下Docker中替换jar,不用重新构建。只需要重新启动容器就可以完成项目代码的更新。

首次部署Docker时需要构建镜像。

Dockerfile

FROM openjdk:8u265-jdk
RUN echo "Asia/Shanghai" > /etc/timezone
RUN mkdir /demo/
EXPOSE 9004
CMD ["nohup","java", "-Xms512m", "-Xmx512m", "-XX:metaspaceSize=256m", "-XX:MaxmetaspaceSize=512m","-jar","/demo/demo.jar","&"]

首次构建时在容器中创建jar存放目录,用于和宿主机映射

启动脚本

#!/bin/sh
# 进入到项目目录
cd /data/project/demo
# 这里没有使用Jenkins 在机器上装git 使用git命令更新代码
git pull
mvn clean package -Dmaven.test.skip=true -pl demo -am
# 构建镜像
docker build -f Dockerfile -t demo:0.0.1 .

docker run --name demo -e HOST=0.0.0.0 -d -p 9003:9003 -v /data/project/demo/target:/demo -v /etc/localtime:/etc/localtime:ro -v /data/logs/demo/:/data/logs/demo/  demo:0.0.1

docker logs  demo

docker 启动命令中 -v /data/project/demo/target:/demo 就是将宿主机的目录和容器中的目录映射,所以我们后续更新只需要更新宿主机里的jar就可以

以上是首次构建时的命令,首次构建成功后将启动脚本修改

修改后的启动脚本

#!/bin/sh
# 进入到项目目录
cd /data/project/demo
# 这里没有使用Jenkins 在机器上装git 使用git命令更新代码
git pull
mvn clean package -Dmaven.test.skip=true -pl demo -am

# 重启容器
docker restart demo

如果是用Jenkins直接将jenkins中拉取的jar传到目标服务器的项目目录中就可以。
使用手动上传jar的可以直接将目录中的jar替换

仅此记录

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/747846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号