1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| 1、联合文件系统 * Union file system 将其他文件系统合并到一个联合挂载点的文件系统 * docker支持的联合文件系统 AUFS、overlayFS、Btrfs、BFS、devicemapper aufs、overlay、overlay2、btrfs、zfs、devicemapper、vfs * docker ce支持的Linux发行版的存储驱动 Ubuntu:overlay2、aufs Debian:overlay2、aufs、devicemapper CentOS:overlay2 Fedora:overlay2 * 使用overlay2存储驱动的要求 docker版本要求 Docker EE:17.06.02-ee5及以上版本 Docker CE:都支持 Linux内核版本 4.0或更高 RHEL或CentOS:3.10.0-514及更高版本 底层文件系统的要求 ext4 xfs:限于启动d_type的情形 2、docker数据卷 * 卷 默认位置:/var/lib/docker/volume * 卷分类 命名卷 匿名卷 * 卷的优势 比绑定挂载更容易备份和迁移 可以通过docker命令行或API进行管理 可以在Linux容器和Windows容器中工作 多个容器间共享文件时更安全 支持远程主机或云端存储卷 新卷的内容可以由容器预填充 3、数据卷的使用 * 匿名卷 匿名卷:即不为卷起名字 docker run -v参数 docker run -v [host_src:]container-dest[:<options>] 说明: host_src:是主机上的文件,可以是文件也可以是目录,匿名卷省略该选项 container-dest:是容器中的挂载点 options:一般使用的是ro和rw,rw是默认的 使用匿名卷,默认存储的位置为/var/lib/docker/volume/${随机码}/_data 随机码如何查看: docker inspect -f {{.Mounts}} ${容器名|容器ID} |awk '{print $2}' 完整路径查看: docker inspect -f {{.Mounts}} ${容器名|容器ID}|awk '{print $3}' dockerfile中的VOLUME指令 语法: VOLUME ["/data"] VOLUME mouter1 mounter2... 注意: dockerfile方式只能挂载匿名卷,默认存储的位置为/var/lib/docker/volume/${随机码}/_data 随机码如何查看: docker inspect -f {{.Mounts}} ${容器名|容器ID} |awk '{print $2}' 完整路径查看: docker inspect -f {{.Mounts}} ${容器名|容器ID}|awk '{print $3}' docker volume create 使用该命令不指定数据卷名也是匿名卷 * 命名卷 # 有名字的数据卷 # 创建: docker volume create [OPTIONS] [VOLUME] 参数: -d, --driver string:指定驱动类型,默认为local # 查看本地卷列表 docker volume ls # 存储位置 /var/lib/docker/volumes/${volume_name}/_data/ # 使用 docker run -v ${volume_name}:mounter[:options] image * 删除数据卷 命名卷 docker volume rm [OPTIONS] VOLUME [VOLUME...] 匿名卷 只能删除容器 所有卷(所有未被使用的卷) docker volume prune
|