本文旨在将通用的jar包通过Dockerfile文件打成docker镜像包启动,并支持导出到tar包后到另一台机器上启动。镜像包的好处在于无法被解包,并且不被服务器环境所影响,因为Dockerfile文件已经实现了最小环境,每个镜像都是一套最小启动环境。目前假设读者的Linux服务器版本为Centos 7.6及以上,且安装了docker环境。
1、jar包打docker镜像
将jar包和Dockerfile文件放在同一个目录下(dockerfile文件详见下文附录部分)
build 命令:镜像名可自定义,注意最后面有一个空格加一个点
docker build -f Dockerfile -t ${镜像名}:${version} .
2、镜像导出为tar包
导出tar包(imageid通过 docker images命令获取)
docker save -o ${镜像名}.tar ${镜像名}:${version}
3、拿到tar包后如何加载到docker上并启动
使用load命令
docker load -i appname.tar
这个时候我们查看docker images会发现我们的REPOSITORY以及TAG,我们需要自己打个标签比如(如果在build的时候就已经打好标签可以忽略,又或者想自己重命名标签可参考以下命令):
docker tag imageid 镜像名:${version}