docker-数据卷

1.简介

数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有 用的特性:
数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效对数据卷的更新,不会影响镜像 数据卷默认会一直存在,即使容器被删除

2.创建一个数据卷

docker run -v 数据卷

在使用docker run 命令时带上 -v参数就可以指定挂载的数据卷
# docker run -it --name hello-c1 -v /yyf centos  /bin/bash
#  ls

bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt   var  yyf ...
#在容器中有 /yyf这个目录
echo "yyf" >> /yyf/yyf.txt


ll /var/lib/docker/volumes/ #在实际主机中
total 24
drwxr-xr-x  3 root root    19 Nov 12 02:45 37dbfde6ceb0456bdac24b183d98f914db6e4fb1c37a55af4bf8a3f487ae32ff
# ll /var/lib/docker/volumes/37dbfde6ceb0456bdac24b183d98f914db6e4fb1c37a55af4bf8a3f487ae32ff/_data/
total 4
-rw-r--r-- 1 root root 4 Nov 12 02:48 yyf.txt

在主机的/var/lib/docker/volumes/中生成了对应文件
说明 -v 将/var/lib/docker/volumes 目录加载成了了容器指定的目录

3.删除数据卷

可以在删除容器的时候使用docker rm -v这个命令

4.直接映射本地目录

docker run -it --name centos-v1 -v /tmp/centos:/opt/webapp centos /bin/bash

ls /opt/

webapp

[root@2a38fdbb6385 /]#echo $HOSTNAME > /opt/webapp/$HOSTNAME.conf #在容器内创建文件夹
[root@2a38fdbb6385 /]# exit
exit
[root@kube-1 tmp]# echo $HOSTNAME > /tmp/centos/$HOSTNAME.conf #在宿主机创建文件夹
[root@kube-1 centos]# ls /tmp/centos/
2a38fdbb6385.conf  kube-1.conf 
[root@kube-1 centos]# docker exec -it centos-v1 bash
[root@2a38fdbb6385 /]# ls /opt/webapp/
2a38fdbb6385.conf  kube-1.conf	

在对应被映射的目录生成了文件夹
创建新的容器

[root@kube-1 centos]# docker run -it --name centos-v2  -v /tmp/centos:/opt/webapp  centos /bin/bash

[root@a6f856dbe6e4 /]# echo $HOSTNAME > /opt/webapp/$HOSTNAME.conf
[root@a6f856dbe6e4 /]# ls /opt/webapp/
2a38fdbb6385.conf  a6f856dbe6e4.conf  kube-1.conf

发现他们可以共享对方创建的文件夹,也可以对相互创建的文件修改,删除

5通过docker inspect 查看对应的挂载信息**

docker inspect hello-c1
...
 "Mounts": [
            {
                "Type": "bind",
                "Source": "/tmp/centos",
                "Destination": "/opt/webapp",
                "Mode": "",
                "RW": true,
                "Propagation": "rprivate"
            }
        ],
...

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。
数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值