docker数据卷管理以及卷插件

Docker 数据卷管理

bind mount 将主机上的目录mount到容器里
docker run -d --name web1  -p 80:80 -v /opt/website:/usr/share/nginx/html nginx   

在这里插入图片描述

打开容器访问不到数据因为没有写入数据
cd /opt/website/  
vim index.html
再次访问可以看到数据,在容器里面也可以写入数据但是用attach连接不上是因为没有交互的shell
 docker exec -it web1 bash  使用此命令
进入容器可以可追加写入

在这里插入图片描述

默认的读写挂载,手动指令只读挂载
docker run -it --name vm1 -v /opt/data1:/data1  -v /opt/data2:/data2:ro  ubuntu

在这里插入图片描述
只读不可以创建

在这里插入图片描述
宿主机可以创建。容器可以查看不可以删除
在这里插入图片描述
也可以挂载文件yum

docker run -it --name vm3 -v /etc/yum.repos.d/hh.repo:/etc/yum.repos.d/hh.repo:ro  rhel7 bash   #没有shell的交互界面ro只读比较的安全

Docker managed volume

Bind mount	必须指定host文件系统路径,限制了移植性
Docker	managed volume 不需要mount源,docker会自动创建数据卷目录
默认的数据卷 /var/lib/docker/volume
 docker run -d --name web1 -p 80:80  -v /usr/share/nginx/html nginx  运行容器

在这里插入图片描述

docker inspect web1

在这里插入图片描述
数据会被直接复制到此文件夹,内容可以直接被修改
在这里插入图片描述
因为文件夹名字较长可以自定义文件夹

docker run -d --name web2 -p 80:80 -v website2:/usr/share/nginx/html nginx
docker inspect web2

在这里插入图片描述
在这里插入图片描述

docker volume ls
docker rm web2 web1
 docker volume  rm    388121f1750f25906402371110b30d43be3c41b59094ff630b4df88a6eb02e7e
docker volume  prune  删除不使用的数据卷


在这里插入图片描述

docker run -d --name web1 -p 80:80 -v webdata:/usr/share/nginx/html nginx  #运行容器
cd /var/lib/docker/volumes/webdata/ _data/
修改文件查看,把原来的数据自动复制到本地的目录

在这里插入图片描述

docker run -d --name web2 -p 80:80 -v webdata:/usr/share/nginx/html nginx
docker run -d --name web3 -p 80:80 -v webdata:/usr/share/nginx/html nginx
可以挂载多个

卷插件

卷插件应用 convoy

搭建nfs服务:
yum install nfs-utils.x86_64  -y 
systemctl start rpcbind  
 netstat -antlp | grep :111
vim /etc/exports
mkdir /mnt/nfs
 systemctl start nfs
 exportfs  -v
 cd /mnt/nfs/
touch file1

在这里插入图片描述

server2:
yum install nfs-utils.x86_64  -y 
systemctl start rpcbind  
netstat -antlp | grep :111
mkdir /mnt/nfs
showmount -e 172.25.13.1
mount 172.25.13.1:/mnt/nfs/  /mnt/nfs/
cd /mnt/nfs/

在这里插入图片描述
部署插件

部署插件server1和server2配置一样
tar zxf convoy.tar.gz 
cp convoy convoy-pdata_tools  /usr/local/bin/  设置环境变量
convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs &

在这里插入图片描述

convoy create vol1  创建一个卷
convoy list
convoy inspect vol1  查看
 cd /mnt/nfs/
docker run -it --name vm1 -v vol1:/data ubuntu #运行容器
创建文件

在这里插入图片描述

server1:查看

在这里插入图片描述
server2:查看

在这里插入图片描述
Down掉sever1容器 在server2上重创建容器文件依然在
在这里插入图片描述

删除先删除容器,然后删除vol1卷
docker rm vm1
convoy delete  vol1
convoy list  查看  
Ps ax  kill关闭

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值