Docker容器及镜像打包操作指南

1     场景及关键命令

场景

简要步骤

关键命令

备注

1

迁移镜像

1.       原镜像打包为本地文件

2.       新环境导入为镜像

docker save [镜像名称:tag] -o [tar包]

docker load -i [tar包]

以镜像层的形式保存为tar包

2

迁移容器a

1.  保存容器至镜像

2.       保存镜像至本地文件

3.       导入为镜像

4.       从镜像生成容器

docker commit [容器id] [镜像名称:tag]

docker save [镜像名称:tag] -o [tar包]

docker load -i [tar包]

docker run

3

迁移容器b

1.   保存容器至本地文件

2.   导入为镜像

3.   从镜像生成容器

docker export [容器名称/id] -o [tar包]

docker import [tar包] [镜像名称:tag]

docker run

以文件的形式保存为tar包

4

从系统打包镜像

1.  原系统打包为本地文件

2.       导入为镜像

打包系统文件 tar ***

docker import [tar包] [镜像名称:tag]

注意:

1) 导入的新Docker镜像是否自带tag:

a)        docker import 可以直接使用[镜像名称:tag]格式指定镜像名;

b)       docker save使用[镜像名:tag]格式保存,docker load会自动加载tag,使用[镜像id]格式保存,docker load不会自动加载tag;

c)        docker load不能对载入的镜像重命名,需使用docker tag;

2) save将镜像保存为tar包(场景2),镜像层之间有重复的文件,export将容器保存为tar包(场景3),非层结构;

3) 在容器中配置了基础环境,希望分发作为基础开发环境使用等,推荐用export(场景3)分享基础镜像;

4) save保存镜像,若save后指定容器id或名称,将只保存容器基于的镜像;

2     详细步骤

2.1         场景1-迁移镜像

原镜像打包为本地文件:

# docker save 711d6d1f32b3-o kylinv10sp2.tar

新环境加载:

# docker load -ikylinv10sp2.tar

# docker tag 711d6d1f32b3kylin:V10sp2

2.2         场景2-迁移容器a

1.      容器打包为镜像(需暂停容器)

# docker commit 76471edf03ac kylin-migraphxtest:01

2.      镜像打包为本地文件

#docker save kylin-migraphxtest:01 -okylin-migraphxtest.tar

3.      新环境导入

# docker load -i kylin-migraphxtest.tar

2.3         场景3-迁移容器b

# docker exportf42fbfc75aff -o kylin-migraphxtest.tar

# docker importkylin-migraphxtest.tar kylin:export

该镜像相比save后加载的镜像小1G左右

2.4         场景4-系统打包镜像

2.4.1      打包镜像文件

以麒麟系统为例:

1.      创建目录

#mkdir /kylin-docker-fs

#cd /kylin-docker-fs

2.      创建基础目录

#mkdir usr dev

#cp -a /usr/lib /usr/lib64/usr/bin /usr/share usr/

3.      创建链接

#ln -s usr/lib lib

#ln -s usr/lib64 lib64

#ln -s usr/bin bin

4.      复制配置及root目录

#cp -a /etc /root ./

5.      裁剪

#rm -rfetc/profile.d/flatpak.sh etc/profile.d/gawk.csh etc/profile.d/gawk.shetc/profile.d/lang.csh etc/profile.d/lang.sh etc/profile.d/system-info.sh

6.      测试镜像目录

#chroot .

7.      打包

#cd ..

#tar -C kylin-docker-fs/ -z-c . -f kylin-hg-docker.tar.gz

2.4.2      导入为Docker镜像

法一(推荐):

# docker import kylin-hg-docker.tar.gzkylin:ori

或# catkylinv10sp2.tar | docker import - kylin:ori

法二:

# docker import kylinv10sp2.tar

# docker tag a8c01ec994a6kylin:ori

  • 27
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术瘾君子1573

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值