docker 如何快速更换 jar 包

2020-03-30 15:45:01 +08:00
 bfqymmt
采用 Dockerfile 方式部署了项目,先构建镜像,再通过镜像生成 docker 。

如果要更新 jar 文件,现在的操作是停止删除 docker,再删除镜像,重新构建镜像,再生成 docker 。

操作有一些繁琐。小项目,百度了资料,都没有找到快速更换 jar 的方式,请教一下如何快速更换 jar 或其他比较敏捷的方式呢?
4822 次点击
所在节点    Docker
8 条回复
monkeyWie
2020-03-30 15:52:59 +08:00
为啥要停止删除 docker,一般在前面跑一个 nginx 负载均衡,两个容器做滚动升级就好了
Rysle
2020-03-30 16:00:33 +08:00
用 volume 替换不行吗?
docker run -v <jar file path in host>:<jar file path in container>
anubu
2020-03-30 16:34:34 +08:00
搜索一下 docker-compose up -d 命令,一条命令就可以实现编译构建、部署更新。
tomczhen
2020-03-30 16:37:54 +08:00
小项目直接本机跑不就完了。

既想学大项目那套高大上,又觉得麻烦,谁也救不了。
hcymk2
2020-03-30 16:38:41 +08:00
java 一般替换 jar 也要重启吧
Yourshell
2020-03-30 16:38:42 +08:00
rebuild 也不麻烦啊。可以使用 volume
wangxiaoaer
2020-03-30 16:40:20 +08:00
看不懂你的骚操作。
Imcoding
2020-03-30 21:03:40 +08:00
1. 构建一个带 Java 环境的镜像
2. 编写 docker-compose.xml 启动容器
这个文件配置 volume 等并配置初始命令(启动 jar )
3. 修改了 jar 后直接将 jar 拷贝到 volume 配置的主机路径就好了( jar 名要相同),重启容器

按你的做法相当于把项目搞到了镜像里面了,要更改项目除了重新构建镜像还可以使用 docker cp 命令,把新的 jar 复制到容器内,替换到容器内的 jar,但是这样太麻烦了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/657593

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX