一 docker数据卷
为什么要用数据卷
- docker分层文件系统
- 性能差
- 生命周期与容器相同
- docker数据卷
- mount到主机中,绕开分层文件系统
- 和主机磁盘性能相同,容器删除后依然保留
- 仅限本地磁盘,不能随容器迁移
docker提供了两种卷:
- bind mount ## 用-v手动指定挂载路径,
- docker managed volume ## 限制再容器内的base路径
1 . bind moun
可以挂目录,挂文件并指定权限
[root@server1 harbor]# docker run -it --rm -v /opt/data1:/data busyboxplus
挂载nginx进行测试,挂载时不会覆盖,数据以宿主机为准.,此时
再宿主机内写入默认发布内容后再次访问就可以访问到
2. docker managed volume docker 管理卷
都在默认管理引擎下,删除后重启docker时会重建
容器内挂载路径存在并且有数据,挂载时会拷到默认管理目录下,
docker inspect demo2
可以查看详细信息。
可以看到demo2在宿主机的挂载路径:/var/lib/docker/volumes/
二 . 卷插件
convoy卷插件支持三种运行方式:
(1)devicemapper (2)NFS (3)EBS
以下实验使用NFS方式实现,在server1和server2上实现
删除原有demo即数据卷
在server1和server2都安装nfs
yum install -y nfs-utils.x86_64
在server1上编辑挂载目录并更改权限
在server2中同样创建nfs目录,并将1的共享目录挂载过来
在server1中安装convey
server1使用convory创建vol1数据卷
在server2中也安装convey