Docker 数据卷和数据卷容器
1.本节课主要讲解如何在Docker内部及容器之间管理数据。
容器中管理数据主要有两种方式:
数据卷(Data volumes)
数据卷容器(Data volume containers)
2.数据卷:是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:
a.数据卷可以在容器之间共享和重用
b.对数据卷的修改会立马生效
c.对数据卷的更新,不会影响镜像
d.卷会一直存在,直到没有容器使用
*数据卷的使用,类似于 Linux 下对目录或文件进行 mount。
3.创建数据卷
$ docker run -idt -P -v /webapp my/centos:v888 /bin/bash ##a、/webapp为创建的数据卷 b、my/centos:v888为镜像 c、-P外网到容器的一个硬射的IP
ecde369d5c9ca75eaf394caaa1f0ce5d63e1323739c657595bd01f68d5d2d304
$ docker attach ecde369d5c9ca75eaf394caaa1f0ce5d63e1323739c657595bd01f68d5d2d304 ##进入守护状态运行的容器中

$ docker run -idt -P --name web1 -v /webapp my/centos:v888 /bin/bash ##/webapp上面创建的容器,web1和/webapp目录是共享的,但对数据卷的更新,不会影响镜像
01808bde8cba1c5dab720043af7c607625b5b769cac8133c09aef02c246b6312
$ docker attach web1 ##通过web1名称进入守护状态运行的容器中

-v表示创建一个数据卷并且挂载到容器里。
--name指定容器的名称
-d是指守护状态下运行(daemon)
启动之后,使用docker attach命令进入守护状态运行的容器中
除此之外,还可以挂载宿主机的一个目录来映射到容器里面作为数据卷
$ docker run -idt -P --name web2 -v /home/xm6f/dev/test:/opt/docker my/centos:v888 /bin/bash
d0aeebbcd269143e1345ace90992d21c5d9687375f39524a9ed25d6dd2a5b54f
$ docker attach web2
表示宿主机的目录/home/xm6f/dev/test映射到容器中的/opt/docker目录。

你会发现宿主机/home/xm6f/dev/test目录创建的文件跟容器/opt/docker目录的文件一样。
docker挂载的数据卷默认是可读可写的,若要指定为只读,可以加权限限制:ro
$ docker run -idt -P --name web3 -v /home/xm6f/dev/test:/opt/docker:ro my/centos:v888 /bin/bash

也可以挂载单个文件到容器
docker run -idt -P --name web4 -v ~/.bash_history:/.bash_history my/centos:v888 /bin/bash

4.数据卷容器:是一个正常的容器,专门用来提供数据卷供其他容器挂载
建立数据卷容器:
$ docker run -d -v /database --name db my/centos:v888 echo database
$ docker logs db

在其他容器中使用--volumes-from挂载db容器中的数据卷
$ docker run -idt -v /aaa --name bbb my/centos:v888 /bin/bash
$ docker run -idt --volumes-from bbb --name ccc my/centos:v888 /bin/bash

可以看到数据卷容器,在多个容器中挂载之后是数据共享的。
5.数据卷不会被自动删除,要删除一个数据卷,必须在删除最后一个挂着该数据卷的容器是指定-v参数,如下
docker rm -v 数据卷名字

Docker 数据卷和数据卷容器的更多相关文章
- 聊聊Docker数据卷和数据卷容器
当程序在容器运行的时候,特别是需要与其他容器中的程序或容器外部程序进行沟通交流,这时需要进行数据交换,作为常用的两种沟通数据的方式,网络通信与文件读写是需要提供给程序的支持, [数据卷] 文件是数据持 ...
- Docker学习笔记:镜像、容器、数据卷
核心概念 镜像:一个只读的模板,类似虚拟机的镜像. 容器:可以理解为镜像的一个运行实例.运行时类似于沙箱,多个容器互相独立. 仓库:存放镜像文件的地方. 镜像 命令表格 命令 解释 选项 docker ...
- Docker数据卷和数据卷容器
是什么 数据卷设计的目的,在于数据的永久化,他完全独立于容器的生存周期,因此,Docker不会在容器删除时删除其挂载的数据卷,也不会存在类似的垃圾收集机制对容器引用的数据卷进行处理.类似我们Redis ...
- Docker-数据卷和数据容器卷
容器中管理数据主要有两种方式: 数据卷(Data Volumes) 数据卷容器(Data Volumes Dontainers) 数据卷 使用-v可以挂载一个本地的目录到容器中作为数据卷. [root ...
- Docker 使用指南 (四)—— 数据卷的使用
一.数据卷的使用 有时候需要使用数据库,但是又希望它的数据能保存在本地,Docker中提供了数据卷可以供你方便的操作数据.数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用 ...
- docker--数据卷与数据卷容器
docker--数据卷与数据卷容器 1.数据卷: 创建一个volumes的文件夹: [root@docker01 /]# mkdir volumes [root@docker01 /]# ls bin ...
- Docker:网络及数据卷设置 [四]
一.Docker网络设置 默认情况下,docker会创建一个桥接网卡[docker 0],docker有2种映射方式,一种是随机映射,一种是指定映射 提示:生产场景一般不使用随机映射,但是随机映射的好 ...
- Docker Kubernetes Volume 本地数据卷
Docker Kubernetes Volume 本地数据卷 emptyDir 当Pod分配到Node时,首先创建一个空卷,并挂载到Pod中的容器. Pod中的容器可以读取和写入卷中的文件. 当Pod ...
- Docker Kubernetes Volume 网络数据卷
Docker Kubernetes Volume 网络数据卷 由于支持网络数据卷众多 今天只拿nfs作为案例. 支持网络数据卷 nfs iscsi glusterfs awsElasticBlockS ...
随机推荐
- Add-Migration : 无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
解决办法: PM>Import-Module C:\Users\Administrator.MACKJON\.nuget\packages\entityframework\6.2.0\tools ...
- [费用流][BZOJ1070]修车
修车 题目描述 同一时刻有位车主带着他们的爱车来到了汽车维修中心.维修中心共有M位技术人员,不同的技术人员对不同的车进行维修所用的时间是不同的.现在需要安排这M位技术人员所维修的车及顺序,使得顾客平均 ...
- 安装配置python环境,并跑一个推荐系统的例子
1.官网下载python2.7,安装完后,在环境变量Path中加上这个路径 在控制台输入python,出现版本信息,就成功了. 2.我使用的是 pycharm,注册后,在 把自己的python.exe ...
- 《C#从现象到本质》读书笔记(五)第5章字符串第6章垃圾回收第7章异常与异常处理
<C#从现象到本质>读书笔记(五)第5章字符串 字符串是引用类型,但如果在某方法中,将字符串传入另一方法,在另一方法内部修改,执行完之后,字符串的只并不会改变,而引用类型无论是按值传递还是 ...
- Oracle异常:Caused by: java.sql.SQLException: ORA-01536: 超出表空间 '登录名' 的空间限额 (JPA保存数据)
原因: Oracle表空间为0,没有分配空间内存. 解决办法在代码框里: 1. 查看用户表空间的限额 select * from user_ts_quotas; max_bytes字段就是了 -1是代 ...
- JS基础-分支结构-循环-数组
1.分支结构 1.if结构 语法: if(条件){ 语句块: } 注意: 1.条件尽量是boolean的,如果不是boolean的,以下条件值,会当做f ...
- Effective C++ 笔记:条款 32 确定你的public继承塑造出正确的is-a关系
32 : Make sure public inheritance models "is-a." 0 引言 Inheritance and Object-Oriented Desi ...
- Python开发——5.函数
一.函数的定义 def test(x) "The Function definitions" x += return x def:定义函数的关键字 test:函数名 ():定义形参 ...
- Django Class Based View
本节内容 一 Class Based View 基于类的视图 1. 类的视图 View 2. 类的视图 TemplateView 3. 类的视图 login_required解决方法 二 ...
- 3.装配Bean 基于XML
一.实例化方式 3种bean实例化方式:默认构造.静态工厂.实例工厂 1.默认构造 <bean id="" class=""> 必须提供默认构造 2 ...