docker镜像中替换jar包流程


前情提要:

本文主要记录了在docker镜像中替换jar包或者其他文件情况下的整体步骤,下述内容将以替换镜像中的jar包为例

详细步骤:

步骤一  查看指定服务下的镜像列表
使用  docker images |grep <service_name>  命令,查看所需要替换jar包的镜像名称。
例如 docker images |grep quark

步骤二  原镜像备份
使用  docker tag <image_id>  <image_id>_bak  命令将原镜像备份,bak后面最好加一个时间戳来标记备份时间,如果有多次备份的话更加方便区分
例如  更换下图中的镜像,并标记备份时间为2023年3月30日
docker tag ce12:5000/transwarp/quark:quark-8.23-ce-final ce12:5000/transwarp/quark:quark-8.23-ce-final-bak-20230330


步骤三 在本机上创建目录,将希望替换的jar包放入文件夹中
目录地址取决于docker里的程序需要替换到哪里

步骤四 在创建的目录中编写Dockerfile,
例如:
FROM ce12:5000/transwarp/quark:quark-8.23-ce-final 
RUN  rm -f /usr/lib/inceptor/lib/crux-types-impl-idbc.jar \
     && rm -f /usr/lib/inceptor/lib/crux-optimizer-idbc.jar
COPY ./crux-types-impl-idbc.jar /usr/lib/inceptor/lib
COPY ./crux-optimizer-idbc.jar  /usr/lib/inceptor/lib

注解:

--- FROM ce12:5000/transwarp/quark:quark-8.23-ce-final  (希望修改的镜像名称)

--- 替换的jar包与原始的jar包名字不一定完全一样,比如版本号可能不一样,因此建议使用rm -f命令先删除旧的包

--- COPY ./crux-types-impl-idbc.jar  (当前文件夹中希望替换的jar包也可以将COPY替换为ADD,但是ADD可能会有意外情况

--- /usr/lib/inceptor/lib  docker目录中希望jar包替换的位置)


步骤五 创建新镜像
docker build -t ce12:5000/transwarp/quark:quark-8.23-ce-final .
注意:
末尾的 ‘.’ 不可省略,并且前面有个空格,以及dockerfile的文件名是否按照格式

步骤六 上传新镜像
docker push ce12:5000/transwarp/quark:quark-8.23-ce-final

步骤七 Manager页面重启相关服务即可

评论
登录后可评论
发布者
A
Admin
官方
文章
17
问答
42
关注者
18
banner
关注星环科技
获取最新活动资讯

加入TDH社区版技术交流群

获取更多技术支持 ->

扫描二维码,立即加入