Docker容器镜像打成tar包
前言
本文记录docker保存镜像、打包tar、加载tar镜像。
简述需求:
在现在容器镜像上保存镜像进行打包,在另一台服务上使用;或现有的容器安装了一些库,配置了开发环境,需要保存下载,下次加载后直接使用
一、docker保存镜像
1、首先查看下现有要打tar包的容器(目的是查询需要保存镜像的ID)
docker ps -a
1.2 接下来用commit参数进行保存镜像(精简版)
docker commit [镜像的ID] [镜像名:版本]
docker commit 7ca736d99653 yolov5:v6.2
#其中,7ca736d99653 是需要保存镜像的ID,刚才用docker ps -a 查询到的。yolov5:v6.2 是需要保存镜像的REPOSITORY、和TAG,这两个自由设定的。(yolov5 对#应REPOSITORY、v6.2对应TAG;两者用:分割开。)
docker commit -a "tmf" -m "tmf-web" 7740db56288a tmf-web:v20191123
#-a 提交人的姓名 -m “提交内容”,格式如:docker commit -a -m 现有容器ID 保存后的名称:版本号
(详细版)或者用commit参数进行保存镜像, -a 提交人的姓名 -m “提交内容”,
格式如:docker commit -a -m 现有容器ID 保存后的名称:版本号
docker commit -a "xiaoming" -m "Update target detection model" 7ca736d99653 yolov5:v6.21.3 查看镜像是否保存成功
接下来查看下镜像是否出现:能看到刚才保存的镜像yolov5:v6.2出现了,说明成功了。
docker images
二、打包tar
使用save参数进行打包,格式如:docker save -o 要打镜像包名称 镜像
#格式如:docker save -o tar文件名称 镜像REPOSITORY:TAG
docker save -o yolov5-v6.2.tar yolov5:v6.2
#其中yolov5:v6.2 是需要保存镜像的REPOSITORY、和TAG;也是上面保存的镜像名称。
docker save -o F:/study/ndricrane-latest.tar 192.168.1.153:5000/ndricrane:latest
docker save -o tmf-web20191123.tar tmf-web:v20191123
然后把打好的包传到另外一台服务器上进行部署或者升级操作
三、加载tar镜像
使用load从tar文件进行导出镜像操作
load:导入使用 docker save 命令导出的镜像。
docker load -i yolov5-v6.2.tar
docker load -i tmf-web20191123.tar
然后查看是否出现镜像
docker images
然后把刚导入的镜像进行打标签,目的就是把刚刚导入的镜像归到某个镜像仓库里(所谓的仓库即:docker.oa.com:8080/tmf/ 然后再加上你要使用的镜像名称:版本号)
docker tag tmf-web:v20191123 docker.oa.com:8080/tmf/tmf_web:v20191123
然后把镜像push推送到仓库
docker push docker.oa.com:8080/tmf/tmf_web:v20191123
进行查看
参考文档: