本章讨论:volume的备份,恢复,迁移和销毁

1.备份

通过前面的大量的实验,我们知道volume 是依赖host存在的,是host中的文件或目录,所以volume 的备份实际是对文件系统的备份。

我们之前学习的搭建本地私有仓库registry:所有的上传到本地私有仓库里面的镜像都是存在在host目录中,所以我们只需要定时备份这个目录就可以了

进行备份:

2.恢复

如果数据损坏,直接将之前备份的数据拷贝到/test1中

将test1中的数据删除,我们之前是上传的192.168.7.222/vim这个镜像,下面pull这个镜像

由于我删除了test1中的数据,所以pull失败;我们再将test1的备份数据拷贝回来,看是否能成功pull镜像

依然是not found???原因是什么??

volume的恢复按正常来说只要将之前备份的数据拷贝过来,就可以了,但是本实验应该是有问题的,这个之后再来详细的探讨!!

3.迁移

如果我们想使用新版本的registry,这就涉及到数据迁移,方法是:

1.docker  stop当前的registry容器

2.启动一个新版本的容器并mount原有的volume:docker run -d -p 5000:5000 -v /test1:/var/lib/registry registry

标红的路径一定要和源容器中的路径一致,否则迁移不成功

4.销毁

可以删除不再需要的volme,但是一定要清楚自己在干什么,因为volume删除后,数据是找不回来的。

docker 不会销毁bind mount,删除数据的工作职能由host完成;

对于docker managed volume,在删除容器docker rm的时候可以带上-v参数,docker会将容器用到的volume一并删除,但前提是没有其他容器mount 到该volume,目的是保护数据。

如果删除容器的时候没有带-v,这样就会产生孤儿volume,docker提供了volume自命令可以对docker managed volume进行维护:

实验中当我们删除容器的时候没有加-v的参数,但是volume还存在,这种就是孤儿volume,对于这种volume可以使用docker rm volume进行删除

但是通过docker volume ls只能看到volume不能对应具体的容器,我们无法判读哪个是孤儿容器,该如何去管理呢?

可以通过docker volume prune删除孤儿volume

批量删除孤儿volume:docker volume rm $(docker volume ls -q)

centos7下安装docker(13.3volume生命周期管理)的更多相关文章

  1. CentOS7下安装docker(Docker系列1)

    CentOS7下安装docker 系统要求 为了安装docker,需要准备 64-bit的CentOS 7 删除非官方的Docker包 yum的仓库中有一个很旧的Docker包, 现在Docker官方 ...

  2. docker(一) Centos7下安装docker

    docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...

  3. centos7下安装docker与镜像加速

    1.背景 centos7下安装docker 2.安装 第一步:检查是否为centos7版本 第二步:依赖环境安装 执行如下两个命令: yum -y install gcc yum -y install ...

  4. centos7 下安装docker报错:You could try using...

    搞了台VPS,想要装docker,发现死活装不上,各种报错.之前系统是centos6,发现官方现在已经不支持centos6了,遂升级到centos7,然后还是出现下面这个错误. Error: Pack ...

  5. centos7下安装docker(13.4容器volume总结)

    最近我们学习了docker 存储,首先docker存储有两种:storage driver和data volume. storage driver是由镜像层和容器层组成的,可以通过docker ins ...

  6. Linux(centos7)下安装Docker

    近期公司开始推Docker技术.这个系列的文章都是基于CentOS7系统下进行讲解的. Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器 ...

  7. centos7下安装docker(14安装docker machine)

    之前我们做的实验都是在一个host上面的,其实在真正的环境中有多个host,容器在这些host上面启动,运行,停止和销毁,相关容器会通过网络相互通信,无论他们是否运行在相同的host上面. 对于这种歌 ...

  8. centos7下安装docker(24docker swarm 数据管理)

    service的容器副本会scal up/down,会failover,会在不同的主机上创建和销毁,这就引出一个问题,如果service有数据,那么这些数据该如何存放呢? 1.打包在容器中: 显然不行 ...

  9. centos7下安装docker(21docker swarm集群创建)

    创建swarm集群: 实验环境:盗图 swarm-manager是manager node,swarm-worker1和swarm-worker2是worker node. 所有节点的docker版本 ...

随机推荐

  1. spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!

    前言 开心一刻 小白问小明:“你前面有一个5米深的坑,里面没有水,如果你跳进去后该怎样出来了?”小明:“躺着出来呗,还能怎么出来?”小白:“为什么躺着出来?”小明:“5米深的坑,还没有水,跳下去不死就 ...

  2. [HEOI2017] 寿司餐厅 + 最大权闭合子图的总结

    Description 太长了自己看叭 点这里! Solution 先学一波什么叫最大权闭合子图. 先要明白什么是闭合子图,闭合子图就是给定一个有向图,从中选择一些点组成一个点集V.对于V中任意一个点 ...

  3. R语言实战(三)——模拟随机游走数据

    一.模拟随机游走数据示例 x <- matrix(0,1000,1) for(i in 1:1000){ x[i+1] <- x[i]+rnorm(1) } plot(x,type=&qu ...

  4. SQL partition by的用法

    今天群里看到一个问题,在这里概述下:查询出不同分类下的最新记录.一看这不是很简单的么,要分类那就用Group By; 要最新记录就用Order By呗.然后在自己的表中试着做出来: 首先呢我把表中的数 ...

  5. 服务器端事件发送SSE

    背景 近期有这么一个需求: 手机端需要展示一个比较大的pdf 基于手机端网络/流量/体验等考虑,希望不通过pdf下载然后展示 而是把pdf转成一张张的图片,然后再在手机上展示. 分析 pdf转图片,肯 ...

  6. Hadoop HDFS 设计随想

    目录 引言 HDFS 数据块的设计 数据块应该设置成多大? 抽象成数据块有哪些好处? 操作块信息的命令 HDFS 中节点的设计 有几种节点类型? 用户如何访问 HDFS? 如何对 namenode 容 ...

  7. 23种设计模式+J2EE设计模式学习笔记-初识设计模式

    设计模式简介: 设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.(个人理解:设计模式是不关乎业务,逻辑实现,针对普遍问题的一种解决方案). 设计模式的类型: 传统23种设 ...

  8. JavaScript复杂判断的更优雅写法

    摘要: 写代码是一门艺术. 原文:JavaScript 复杂判断的更优雅写法 作者:Think. 公众号:大转转fe Fundebug经授权转载,版权归原作者所有. 前提 我们编写js代码时经常遇到复 ...

  9. element-ui Carousel 走马灯源码分析整理笔记(十一)

    Carousel 走马灯源码分析整理笔记,这篇写的不详细,后面有空补充 main.vue <template> <!--走马灯的最外层包裹div--> <div clas ...

  10. ES6模块化与常用功能

    目前开发环境已经普及使用,如vue,react等,但浏览器环境却支持不好,所以需要开发环境编译,下面介绍下开发环境的使用和常用语法: 一,ES6模块化 1,模块化的基本语法 ES6 的模块自动采用严格 ...