企业入门实战- - docker之docker数据卷管理、convoy卷插件的使用

本文介绍了Docker的两种数据卷类型:bindmount和docker-managed volume,并详细演示了如何使用Docker数据卷进行文件挂载。接着,文章讲解了如何结合Convoy卷插件与NFS,实现跨主机的数据共享,详细阐述了在两台装有Docker的虚拟机上设置和使用Convoy的过程。通过这个实践,读者可以了解到如何在容器环境中高效管理和共享数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

企业入门实战- - docker之docker数据卷管理、convoy卷插件的使用

一.Docker数据卷

docker提供了两种卷:
bind mount
docker managed volume

1.Docker数据卷管理

首先down docker-compose
bind mount:
是将主机上的目录或文件mount到容器里
使用 -v 选项指定路径,格式 :
指定真实主机/data目录挂载到容器中/usr/share/nginx/html

docker run -d --name demo -v /data:/usr/share/nginx/html nginx
echo www.westos.org > /data/index.html ##挂载成功后,编写默认发布文件给容器中nginx

在这里插入图片描述
进入demo中查看文件是否挂载并写入成功

docker exec -it demo bash

docker inspect demo

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

访问测试:

curl 172.17.0.2

在这里插入图片描述

docker managed volume:


docker volume Is 查看逻辑卷
docker volume prune 清除多余的逻辑卷
docker volume create webdata 创建逻辑卷
docker run-d-name demo-v webdata:/usr/share/nginx/html nginx 捋新建的逻辑卷挂载

cd/var/lib/docker/volumes/
Is

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
挂载文件

docker run-it--rm-v/etc/yum.repos.d/dvd.repo:/etc/yum.repos.d/dvd.repo:ro rhel7 bash 挂载文
件只读

在这里插入图片描述

在这里插入图片描述
不指定挂载目录

docker run -d --name demo -v /usr/share/nginx/html nginx
docker inspect demo

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

cd /var/lib/docker/volumes/437df2961c02f20aca823235dbd85f49442cb1fbd67abb5f13697c03c891fbba/_data

在这里插入图片描述

2.卷插件–convoy结合NFS

需要两台装docker的虚拟机
server1

yum install nfs-utils-y 安装共享文件系统

在这里插入图片描述
创建共享目录

mkdir /mnt/nfs
vim /etc/exports

/mnt/nfs *(rw,no_root_squash)

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

chmod 777 /mnt/nfs/ 给权限
systemctl start nfs 启动服务
showmount -e

在这里插入图片描述
server2

yum install nfs-utils -y 安装共享文件系统

在这里插入图片描述
将server1的文件目录挂载到server2上

mkdir /mnt/nfs
mount 172.25.5.1:/mnt/nfs/ /mnt/nfs 将server1的/mnt/nfs 挂载到server2的/mnt/nfs上
df 查看是否挂载成功

在这里插入图片描述

server1

tar zxf convoy.tar.gz 解压插件
cd convoy/
mv convoy* /usr/local/bin/ 将convoy的二进制文件移动到系统的环境变量里

在这里插入图片描述

convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs &
驱动

在这里插入图片描述
为docker引擎指定convoy的sock的文件到/etc/docker/plugins/convoy.spec

mkdir -p /etc/docker/plugins/
echo "unix:///var/run/convoy/convoy.sock" > /etc/docker/plugins/convoy.spec
 convoy create vol1 创建一个逻辑卷
convoy list 查看信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
server2的操作与server1相同

tar zxf convoy.tar.gz
cd convoy/
mv convoy* /usr/local/bin/
convoy daemon --drivers vfs --driver-opts vfs.path=/mnt/nfs &

在这里插入图片描述

ls /mnt/nfs/

在这里插入图片描述
server1上拉起容器同步数据到server2

docker run -d --name demo -v vol1:/usr/share/nginx/html nginx
docker ps

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

cd /mnt/nfs/vol1/
 echo www.westos.org > index.html

在这里插入图片描述
server2

cd /mnt/nfs/vol1/
ls
cat index.html

在这里插入图片描述
在这里插入图片描述
删除convoy
server2

ps ax 查看进程并杀掉

在这里插入图片描述
删除逻辑卷vol1

docker volume rm vol1
cd /etc/docker/plugins/
 ls
convoy.spec
 rm -fr *
cd /var/lib/docker/
cd volumes/
rm -fr metadata.db

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值