Docker(七):Docker容器卷管理
1、使用容器卷的原因:Docker容器产生的数据,如果不通过commit生成新的镜像,数据会在容器删除后丢失。为了能持久化保存和共享容器的数据,Docker提出了两种管理数据的方式:数据卷和数据卷容器。
2、数据卷操作
2.1 增加新数据卷
docker run -d -v /tmpd/busyboxtest --name busyboxtest busybox
-v参数会在容器的/tmp/busybox下创建一个新的容器卷
通过docker inspect命令查看数据卷的位置
docker inspect busyboxtest | grep volumes
"/tmp/busyboxtest": "/var/lib/docker/volumes/577784c9e8aa3fba15ebf56ee680b6fea50aafe60bd753b64c3699e461fa3e39/_data"
2.2 将主机目录挂载为数据卷
docker run -tid -v /tmp/volumetest:/data:ro --name busyboxtest2 busybox
将宿主机的/tmp/volumetest以ro的方式挂载在/data下

2.3 创建数据卷容器
如果需要在容器之间共享一些持续更新的数据,最简单的方式使用数据卷容器
首先创建一个数据卷容器dbdata并在其中创建一个数据卷挂载到/dbdata
docker run -it -v /dbdata --name dbdata ubuntu
然后在其他容器使用--volume-from来挂载dbdata容器中的数据卷
docker run -it --volume-from dbdata --name db1 ubuntu
docker run -it --volume-from dbdata --name db2 ubuntu
此时容器db1和db2挂载同一个数据卷到/dbdata目录,三个容器任何一方写入,其他容器都可以看到
--volume-from多次指定可以挂载多个数据卷,并且--volume-from参数所挂载数据卷的容器并不需要运行
如果删除了挂载的容器,数据卷并不会自动删除,如果删除一个数据卷,需要删除最后一个还挂着他的容器使用docker rm -v
2.4 数据卷备份恢复
2.4.1 备份:
备份dbdata数据卷容器内的数据卷
docker run --volume-from dadata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar.gz /dbdata
命令解释:使用ubuntu镜像创建一个叫worker的容器,并将本机的当前目录挂载到worker容器的/backup目录。然后使用--volume-from挂载dbdata容器的数据卷,容器启动后将打包/dbdata目录到/backup目录下。同时也存在了本机的当前目录下
2.4.2 恢复:
恢复数据到一个容器
首先创建一个带有数据卷的容器docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
之后在创建一个新的容器,挂载dbdata2的容器,并使用untar解压备份文件到所挂载的容器即可
docker run --volume-from dbdata2 -v $(pwd):/backup busybox tar xf /backup/backup.tar.gz
3、容器互联
首先创建一个数据库容器:
docker run -d --name db mysql
创建一个新的web容器,并将它连接到db容器:
docker run -d -P --name web --link db:db nginx
此时db容器和web容器建立互联,其中--link db:db是name:alias name是连接容器的名称,alias这个连接的别名
使用docker ps查看到db和web容器,其中db容器的names列有db和web/db,这表示web容器连接到db容器,允许web容器访问db容器的信息
Docker(七):Docker容器卷管理的更多相关文章
- Docker进阶:容器卷、DockerFile、Docker网络原理
1.Docker镜像 1.1镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和机遇运行环境开发的软件. 包含一个软件的所有内容.蒋所有的应用和环境,直接打包为docker镜像,直 ...
- docker守护式容器运行管理
docker守护式容器适合运行应用程序和服务 以交互方式进入容器 docker run -it centos /bin/bash 以交互方式进入 并设置镜像名称和运行后的主机名称 退出交互式容器并让 ...
- docker数据卷管理及网络基础配置
数据卷 数据卷容器 数据卷迁移数据 端口映射 容器间通信 数据卷的管理 当需要查看容器内应用产生的数据或者把容器内数据备份及多个容器数据共享.有两种方式,数据卷以及数据卷容器. 数据卷 数据卷是一个可 ...
- Docker学习笔记之docker volume 容器卷的那些事(一)
预览目录 volume 方式 相关用例 使用方式 使用 volume driver bind mount 方式 相关用例 使用方式 配置selinux标签 配置macOS的安装一致性 tmpfs 方式 ...
- Docker实践(二):容器的管理(创建、查看、启动、终止、删除)
docker官方文档地址如下:[https://docs.docker.com/engine/reference/](https://docs.docker.com/engine/reference/ ...
- Docker 基础知识 - 使用卷(volume)管理应用程序数据
卷(volumes)是 Docker 容器生产和使用持久化数据的首选机制.绑定挂载(bind mounts)依赖于主机的目录结构,卷(volumes)完全由 Docker 管理.卷与绑定挂载相比有几个 ...
- Docker学习第三天(Docker数据卷管理)
1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种 ...
- 【docker专栏8】使用IDEA远程管理docker镜像及容器服务
使用命令行的方式管理服务器镜像及容器是运维人员最常用的方式,但是有的时候我们不得不远程操作docker或者是面向对docker并不熟悉的技术人员提供能力(配置管理员.测试人员),这种情况下图形界面就有 ...
- Docker背后的容器管理——Libcontainer深度解析
Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...
随机推荐
- 解决微信公众平台IP白名单
微信公众平台,作为自媒体的旗舰级产品,越来越多的人已经投入它的怀抱.正如它的广告词所说:再小的个体,也有品牌 好吧,闲话不多说,今天要说的是它的IP白名单机制. 我们现在安装的大部分的电信的家庭级别的 ...
- 使用sklearn进行数据挖掘-房价预测(5)—训练模型
使用sklearn进行数据挖掘系列文章: 1.使用sklearn进行数据挖掘-房价预测(1) 2.使用sklearn进行数据挖掘-房价预测(2)-划分测试集 3.使用sklearn进行数据挖掘-房价预 ...
- Zabbix 3.0 部署监控 [二]
一.添加监控主机及设置 1.创建主机 Agent可以干一些SNMP无法干的事情,例如自定义监控项 snmp相关文章:http://www.abcdocker.com/abcdocker/1376 ...
- thinkphp使用foreach遍历的方法
我们在做一些需求的时候可能会对遍历的上限有一定的要求,这时候就需要对上限进行限定 首先使用foreach遍历的输出数组相比较于volist功能较少 volist标签主要用于在模板中循环输出数据集或者多 ...
- 《Linux命令行与shell脚本编程大全》第二十二章 gawk进阶
gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据. 22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量和自定义变量 22.1.1 内建变量 ga ...
- LinuxRPM包安装
转载注明出处:原文地址 ## LinuxRPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(ins ...
- Java并发编程总结4——ConcurrentHashMap在jdk1.8中的改进
一.简单回顾ConcurrentHashMap在jdk1.7中的设计 先简单看下ConcurrentHashMap类在jdk1.7中的设计,其基本结构如图所示: 每一个segment都是一个HashE ...
- java基础部分的简单应用
牛刀小试,MMP:嘿嘿,如有转载,请声明地址http://www.cnblogs.com/jinmoon/: 图形类,点类,三角形类,汽车类,接口:运用继承,抽象类,接口,多态:已知点类三点,输出三点 ...
- 使用PowerApps快速构建基于主题的轻业务应用 —— 入门篇
作者:陈希章 发表于 2017年12月12日 前言 在上一篇文章 基于Office 365的随需应变业务应用平台 中我提到,随着随需应变的业务需要,以及技术的发展,业务应用的开发的模式也有了深刻的变化 ...
- node.js入门必知
目录: 一.node.js简介 1.1特点 1.2适合开发什么 1.3Node.js无法挑战老牌后台语言 二.http模块 一.node.js简介 Node.js开发服务器,数据.路由.本地关心的效果 ...