现在阿里内部的 Java 应用是怎么部署的?

2019-09-25 12:48:01 +08:00
 zgqq

现在常用有两种部署方式, 一种是打包成 war 或者 tar,首次部署需要 jdk 环境; 另外一种通过 docker 不需要安装 jdk,首次部署很方便,但是每次部署都要先构建镜像,会占用很多磁盘,而且 jdk 8 后期版本才支持 docker,使用 arthas 这类工具有点麻烦

4058 次点击
所在节点    Java
4 条回复
zhenjiachen
2019-09-25 14:08:50 +08:00
jib 不会占磁盘。
guyeu
2019-09-25 14:15:22 +08:00
你对 docker 的理解有点肤浅。。。
构建镜像和部署是两回事,一般是构建流程把镜像构建出来推到内网仓库,然后部署的时候服务器去拉;
构建流程无论如何都会占用磁盘,但是 pull 镜像是增量的,也就是说只会拉改动的 layer。
jdk 不需要支持 docker ;
你如果希望在 docker 里使用 jdk 的工具,确实会显著增加镜像体积,但是那也只是增加了第一次拉取镜像的时间。
zgqq
2019-09-25 19:05:35 +08:00
@guyeu 现在公司没用 docker,我自已用 docker,都是直接在服务器 build 镜像的,我就是觉得 push 镜像和 pull 镜像太花时间了
Leigg
2019-09-25 20:07:20 +08:00
首先 build 一个带环境的镜像(仅需一次)
然后写一个发布应用的 dockerfile(调用构建好环境的镜像,copy 代码,编译,执行)
上线时: 本地上传代码--服务器本地拉代码--build 生产容器--run 起来完事,服务器都不用装代码执行环境,除非你非得在生产服务器上 debug。

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

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

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

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

© 2021 V2EX