0


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

  1. 镜像打包为本地文件
#docker save kylin-migraphxtest:01 -okylin-migraphxtest.tar
  1.  新环境导入
    

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
  1. 创建基础目录
#mkdir usr dev

#cp -a /usr/lib /usr/lib64/usr/bin /usr/share usr/
  1. 创建链接
#ln -s usr/lib lib

#ln -s usr/lib64 lib64

#ln -s usr/bin bin
  1. 复制配置及root目录
#cp -a /etc /root ./
  1.  裁剪
    
#rm -rf etc/profile.d/flatpak.sh etc/profile.d/gawk.csh etc/profile.d/gawk.sh etc/profile.d/lang.csh etc/profile.d/lang.sh etc/profile.d/system-info.sh
  1. 测试镜像目录
#chroot .
  1. 打包
#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


本文转载自: https://blog.csdn.net/qq_27815483/article/details/139750095
版权归原作者 技术瘾君子1573 所有, 如有侵权,请联系我们删除。

“Docker容器及镜像打包操作指南”的评论:

还没有评论