Skip to content

Latest commit

 

History

History
25 lines (13 loc) · 920 Bytes

docker大镜像上传方法.md

File metadata and controls

25 lines (13 loc) · 920 Bytes

现在有些镜像很大(GPU算法镜像一般8G、10G),我想到一个办法(并验证通过):

假设有个基础镜像A(以前曾上传过),某次在A的基础上添加一些内容生成了镜像B。

在测试环境上:

1、先通过dock save分别生成A.tar和B.tar,分别解压到目录A和目录B

2、通过diff -r A B比较两个目录,记录差别

3、将B目录中,只在B目录中的文件和子目录以及A、B目录中共有但内容不同的文件打包成B-add.tar。

在生产环境上:

4、同样将镜像A生成A.tar并解压到A目录

5、将diff比较时只在A目录中的文件和子目录以及公共但不同的文件删除

6、将B-add.tar文件上传到A目录,解压B-add.tar文件,删除(或移走)B-add.tar

7、对A目录重新tar生成一个B.tar文件

8、docker load -i B.tar即可。

这样每次上传只需要上传B-add.tar就行了。