zoukankan      html  css  js  c++  java
  • Docker备份与迁移

    容器保存为镜像

      通过以下命令将容器保存为镜像:

    docker commit [-m="提交的描述信息"] [-a="创建者"] 容器名称|容器ID 生成的镜像名[:标签名]

      1.无目录挂载-容器保存为镜像

    docker inspect --format='{{.Mounts}}' 容器名

      

      mycentos2 容器无数据目录挂载,保存为镜像方式如下:

    docker commit mycentos2 mycentos_new:1.1

      mycentos2 是容器名称
      mycentos_new 是新的镜像名称
      此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

      

      创建并登录容器

    docker run -it --name=mxg_mycentos_new mycentos_new:1.1 /bin/bash

      在第5.6章节向 mycentos2 容器中添加了mengxuegu文件,所以新的容器中也有此文件,如下:

      

      2.有目录挂载情况(难点)

      问题: 如果Docker对容器挂载了数据目录, 在将容器保存为镜像时,数据不会被保存到镜像中。
      原因:因为宿主机与容器做了路径映射,再commit一个新的镜像时,该路径下的所有数据都会被抛弃,不会被保存到新镜像中。可通过 docker inspect --  format='{{.Mounts}}' 镜像名 查看是否有目录挂载.
      解决:

        目录挂载方法。先把在宿主机的数据备份在某个目录下,在 docker run 的时候使用-v参数将宿主机上的目录映射到容器里的目标路径中(tomcat是     /usr/local/tomcat/webapps ,mysql是
        var/lib/mysql )
        拷贝方法。先把在宿主机的数据备份在某个目录下,通过拷贝的方法 docker cp 将备份的数据复制进容器里的目标路径中(tomcat是     /usr/local/tomcat/webapps ,mysql是 var/lib/mysql )。

  • 相关阅读:
    滚动相册
    智能拼图
    连连看
    魔法色块
    ASP.NET Session的七点认识
    从11月开始windows update速度缓慢,中国反击?
    WM实现文件关联
    与黄河老师合影
    ubuntu8.04笔记本开启无线网卡记得开网卡的电源
    无法在Web服务器上启动调试,与Web服务器通信时出现身份验证错误
  • 原文地址:https://www.cnblogs.com/116970u/p/10869928.html
Copyright © 2011-2022 走看看