当前位置: 代码迷 >> 综合 >> Docker(九)--Docker数据卷-bind mount与docker managed volume(数据卷管理)
  详细解决方案

Docker(九)--Docker数据卷-bind mount与docker managed volume(数据卷管理)

热度:26   发布时间:2023-12-14 18:08:12.0

数据卷

  • 1. Docker数据卷管理
    • 1.1 bind mount
    • 1.2 docker managed volume
    • 1.3 bind mount与docker managed volume对比
    • 1.4 分享镜像的方法

1. Docker数据卷管理

- 为什么要用数据卷docker分层文件系统性能差生命周期与容器相同docker数据卷mount到主机中,绕开分层文件系统和主机磁盘性能相同,容器删除后依然保留仅限本地磁盘,不能随容器迁移
- docker提供了两种卷:bind mountdocker managed volume

1.1 bind mount

- 是将主机上的目录或文件mount到容器里。使用直观高效,易于理解。使用 -v 选项指定路径,格式 <host path>:<container path>- bind mount 默认权限是读写rw,可以在挂载时指定只读ro。-v选项指定的路径,如果不存在,挂载时会自动创建。
[root@server2 ~]# docker run -it --rm -v /data1:/data1 -v /data2:/data2:ro -v /etc/yum.repos.d/rhel7.6.repo:/mnt/rhel7.6.repo:ro busybox##测试语句

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

1.2 docker managed volume

-   bind mount必须指定host文件系统路径,限制了移植性。docker managed volume 不需要指定mount源,docker自动为容器创建数据卷目录。默认创建的数据卷目录都在 /var/lib/docker/volumes 中。如果挂载时指向容器内已有的目录,原有数据会被复制到volume中。-  -v 后面的,前面是宿主机上的指定的卷名,后面的是容器的目录
- -v 主机路径:容器路径

在这里插入图片描述

在这里插入图片描述

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

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

在这里插入图片描述

1.3 bind mount与docker managed volume对比

相同点:两者都是 host 文件系统中的某个路径。
不同点:

在这里插入图片描述

1.4 分享镜像的方法

[root@server1 ~]# docker save webserver:v4 -o webserver.tar
[root@server1 ~]# ll webserver.tar 
-rw------- 1 root root 33485824 Jan 27 15:28 webserver.tar
[root@server1 ~]# scp webserver.tar server2:
  相关解决方案