现在常用有两种部署方式, 一种是打包成 war 或者 tar,首次部署需要 jdk 环境; 另外一种通过 docker 不需要安装 jdk,首次部署很方便,但是每次部署都要先构建镜像,会占用很多磁盘,而且 jdk 8 后期版本才支持 docker,使用 arthas 这类工具有点麻烦
1
zhenjiachen 2019-09-25 14:08:50 +08:00 via iPhone
jib 不会占磁盘。
|
2
guyeu 2019-09-25 14:15:22 +08:00
你对 docker 的理解有点肤浅。。。
构建镜像和部署是两回事,一般是构建流程把镜像构建出来推到内网仓库,然后部署的时候服务器去拉; 构建流程无论如何都会占用磁盘,但是 pull 镜像是增量的,也就是说只会拉改动的 layer。 jdk 不需要支持 docker ; 你如果希望在 docker 里使用 jdk 的工具,确实会显著增加镜像体积,但是那也只是增加了第一次拉取镜像的时间。 |
3
zgqq OP @guyeu 现在公司没用 docker,我自已用 docker,都是直接在服务器 build 镜像的,我就是觉得 push 镜像和 pull 镜像太花时间了
|
4
Leigg 2019-09-25 20:07:20 +08:00 via Android
首先 build 一个带环境的镜像(仅需一次)
然后写一个发布应用的 dockerfile(调用构建好环境的镜像,copy 代码,编译,执行) 上线时: 本地上传代码--服务器本地拉代码--build 生产容器--run 起来完事,服务器都不用装代码执行环境,除非你非得在生产服务器上 debug。 |