zoukankan      html  css  js  c++  java
  • Docker—备份、恢复及迁移

    用容器生成镜像

    [root@git docker]# docker ps
    CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                 PORTS                                                            NAMES
    e950a988d058        twang2218/gitlab-ce-zh   "/assets/wrapper"   2 hours ago         Up 2 hours (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2222->22/tcp   gitlab-wahaha
    [root@git docker]# docker commit e950a988d058 gitalb-zh
    sha256:dd61a1ec3cdc782d6076e47afc10a35e19700a9ad56df6630a8c1de1c1c105c3
    [root@git docker]# docker images
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    gitalb-zh                          latest              dd61a1ec3cdc        6 seconds ago       1.72 GB
    docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB

    备份:

    查看镜像

    [root@git docker]# docker images
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB
    docker save -o [tar包真实路径] [镜像名 ](ID也可以)
    ocker save -o /opt/docker-gitlab-ce-zh.tar  docker.io/twang2218/gitlab-ce-zh

    恢复:

    docker load -i [tar包真实路径]
    
    docker load -i /opt/docker-gitlab-ce-zh.tar

    导出:是根据容器的  ID  进行导出镜像

    [root@git docker]# docker ps  -a
    CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS                 PORTS                                                            NAMES
    e950a988d058        twang2218/gitlab-ce-zh   "/assets/wrapper"   3 hours ago         Up 3 hours (healthy)   0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:2222->22/tcp   gitlab-wahaha
    [root@git docker]# docker export e950a988d058 > /opt/gitlab-zh.tar
    [root@git docker]# ls -lh /opt/
    total 3.1G
    -rw------- 1 root root 1.7G Mar 20 02:16 docker-gitlab-ce-zh.tar
    -rw-r--r-- 1 root root 1.5G Mar 20 02:38 gitlab-zh.tar
    
    可以看出导出的镜像比备份的镜像小很多,是因为导出的镜像没历史数据,不能回滚

    导入:

    [root@git docker]# docker import - git-mast < /opt/gitlab-zh.tar
     git-mast镜像名(注意中间的  -   )
    [root@git docker]# docker images
    REPOSITORY                         TAG                 IMAGE ID            CREATED             SIZE
    git-mast                           latest              6dfab05161f9        14 seconds ago      1.49 GB
    docker/gitlab-zh                   latest              aebe317ba2a3        16 minutes ago      1.72 GB
    gitalb-zh                          latest              dd61a1ec3cdc        25 minutes ago      1.72 GB
    docker.io/twang2218/gitlab-ce-zh   latest              1f71f185271a        9 days ago          1.63 GB

    注:导出 export 与 保存 save 的区别

     (1).export导出的镜像文件大小  小于 save保存的镜像

     (2).export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史,所以无法进行回滚操作(docker tag <LAYER ID> <IMAGE NAME>);而save保存(load加载)的镜像,没有丢失镜像的历史,可以回滚到之前的层(layer)。(查看方式:docker images --tree)
  • 相关阅读:
    java初学者之java语言主要知识点三
    C++类的对象和类的指针的区别
    win32多线程: 线程创建与结束等待
    多线程学习:win32多线程编程基本概念(转)
    C++常用数据类型和Windows常见数据类型
    VC++2017关于项目出现"const char *" 类型的实参与 "char *" 类型的形参不兼容错误的解决方法
    Linux环境下vi/vim编辑器常用命令
    c++学习笔记之类模板
    c++学习笔记之函数重载和模板理解
    c++学习笔记之多态和虚函数
  • 原文地址:https://www.cnblogs.com/zhink/p/8609272.html
Copyright © 2011-2022 走看看