Docker基础16--docker数据管理

3.3、docker数据管理

docker数据管理的两种方式

  1. 数据卷方式:容器内数据映射到宿主机环境;
  2. 数据卷容器:使用特定容器维护数据卷。

3.3.1容器内数据映射到宿主机环境

数据卷(date volumes):可供容器使用的特殊目录,它将宿主机的目录直接映射至容器内。

数据卷特性:

  1. 数据卷可在容器之间共享或重用;
  2. 对数据卷内的数据操作会马上生效,不管在宿主机上操作,还是在容器内操作;
  3. 对数据卷的更新不会影响应用,解耦开数据和应用;
  4. 数据卷会一直存在,直到没有容器使用它,才可以卸载。

3.3.1创建数据卷

docker volume create [OPTIONS] [VOLUME]

options:

-d, --driver string,指定数据卷驱动器的名称,默认为local

实验1:创建一个数据卷test

docker volume create test

查看数据卷:

docker volume ls

 

这个目录实际上是在/var/lib/docker/volumes/

 

3.3.2查看数据卷详细信息

docker volume inspect [OPTIONS] VOLUME [VOLUME...]

 

3.3.3删除未使用的数据卷

docker volume prune [OPTIONS]

options:

-f, --force强制删除

3.3.4删除指定数据卷

docker volume rm [OPTIONS] VOLUME [VOLUME...]

options:

-f, --force强制删除

3.3.5绑定数据卷

docker run --mountIMAGE [COMMAND] [ARG...]

--mount支持三种类型的数据卷

1volume:普通数据卷,就是4.1.1小节中创建的数据卷,在/var/lib/docker/volumes/

2bind:绑定数据卷,映射到宿主机的任意指定目录下;

3tmpfs:临时数据卷,只存于内存中。

实验1:将宿主机中/root/dockerlab/volume1,这个目录,映射到容器centos/tmp

docker run -it --name=centos --mount type=bind,source=/root/dockerlab/volume1,destination=/tmp centos:1.0 bash

些命令等同于:

docker run -it --name=centos –v /root/dockerlab/volume1:/tmp centos:1.0 bash

 

/tmp目录里的内容,就是宿主机/root/dockerlab/volume1的内容。

docker run -it --name=centos –v /root/dockerlab/volume1:/tmp:ro centos:1.0 bash

目录后面加个:ro,表示只读挂载

 

此时是无法往目录里写东西的。

3.3.6数据卷容器

数据卷容器也是一个容器,它的目的是专门为其它容器提供数据卷挂载。

实验1:

step 1 创建一个容器volume做为数据卷容器,并将宿主机的/root/dockerlab/volume1挂载到容器的/volume1。

docker run -it --name=volume -v /root/dockerlab/volume1:/volume1 centos:1.0 bash

 

目录已挂载成功。

step 2 创建一个容器centos1,挂载数据卷容器中的目录

docker run -it --name=centos1 --volume-from volume centos:1.0 bash

进入容器,发现目录已正常挂载

 

step 3 再来创建一个容器centos2, 挂载数据卷容器中的目录

docker run -it --name=centos2 --volume-from volume centos:1.0 bash

进入容器,发现也能挂载同一个目录,且两边的内容是一致的。

任意在哪一个容器内,对目录的数据进行操作,另一个容器内的内容也会同步改变。

 

--volumes-from 后指定的容器不一定要处于开启状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮毅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值