当前位置:   article > 正文

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

docker打包镜像

目录

1   场景及关键命令

2   详细步骤

2.1  场景1-迁移镜像

2.2  场景2-迁移容器a

2.3  场景3-迁移容器b

2.4  场景4-系统打包镜像

2.4.1  打包镜像文件

2.4.2      导入为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

新环境加载:

  1. # docker load -ikylinv10sp2.tar
  2. # 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

  1. # docker exportf42fbfc75aff -o kylin-migraphxtest.tar
  2. # docker importkylin-migraphxtest.tar kylin:export

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

2.4  场景4-系统打包镜像

2.4.1  打包镜像文件

以麒麟系统为例:

1.  创建目录

  1. #mkdir /kylin-docker-fs
  2. #cd /kylin-docker-fs

2.  创建基础目录

  1. #mkdir usr dev
  2. #cp -a /usr/lib /usr/lib64/usr/bin /usr/share usr/

3.   创建链接

  1. #ln -s usr/lib lib
  2. #ln -s usr/lib64 lib64
  3. #ln -s usr/bin bin

4.  复制配置及root目录

#cp -a /etc /root ./

5.      裁剪

#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

6.   测试镜像目录

#chroot .

7.   打包

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

2.4.2      导入为Docker镜像

方法一(推荐):

  1. # docker import kylin-hg-docker.tar.gzkylin:ori
  2. 或# catkylinv10sp2.tar | docker import - kylin:ori

方法二:

  1. # docker import kylinv10sp2.tar
  2. # docker tag a8c01ec994a6kylin:ori

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/1016099
推荐阅读
相关标签
  

闽ICP备14008679号