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

打印 上一主题 下一主题

主题 633|帖子 633|积分 1899

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.gzkylinri
或# catkylinv10sp2.tar | docker import - kylinri

法二:
# docker import kylinv10sp2.tar
# docker tag a8c01ec994a6kylinri


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表