Docker数据卷操作

一、Docker数据卷操作——创建数据卷

语法:docker volume create 数据卷名
示例:
1.创建一个名称为my_volume的数据卷
docker volume create my_volume

二、Docker数据卷操作——查看数据卷

语法:docker volume ls [OPTIONS]
Options:
-q :静默模式,只显示数据卷名。
示例:
1.查看当前所有数据卷的名称
docker volume ls -q

三、Docker数据卷操作——查看数据卷详细信息

语法:docker volume inspect 数据卷名
示例:
1.查看数据卷my_volume的详细信息
docker volume inspect my_volume

四、Docker数据卷操作——挂载数据卷

-v or --volume 语法
它有三部分组成,使用:进行分割,这些字段必须以正确的顺序排列,并且每个字段的含义不明显。
第一个字段是 Docker Host 上的一个文件或者目录。
第二个字段是将要挂载到容器上的一个文件或者目录。
第三个字段是可选的,用来增加一些附加选项,比如 ro,consistent,delegated,cached,z,and Z。

--mount 语法
它由一组键值对组成,由,进行分割,每个值为 <key>=<value>。
Key Value
type bind、volume、tmpfs,如不指定,默认是 volume
source/src Docker Host 上的一个文件或者目录
destination/dst/target 被挂载容器上的一个文件或者目录
readonly 没有参数,只写这个词即可
bind-propagation rprivate、private、rshared、shared、rslave、slave
consistency consistent、delegated、cached,只在 Mac 系统上生效
两者区别
使用-v的时候,如果在 Docker Host 不存在要挂载的文件或者目录,Docker 将会自动进行创建,通常是一个目录。
使用--mount的时候,如果在 Docker Host 不存在要挂载的文件或者目录,Docker 不会自动创建目录,并生成一个错误。
示例:
1.使用-v命令将数据卷my_volume挂载到容器my_container的/data目录:
docker run --name my_container -d -v my_volume:/data -it contos /bin/bash
2.使用--mount标记将数据卷my_volume挂载到容器my_container的/data目录:
docker run --name my_container_1 -d --mount source=my_volume,target=/data -it centos /bin/bash
3.使用-v命令将本地目录/data/datavolume挂载到容器的/data目录:
docker run -it -v /data/datavolume:/data centos /bin/bash
4.使用-v命令将本地目录/data/datavolume以只读权限挂载到容器/data目录:
docker run -v /data/datavolume:/data:ro -it ubuntu /bin/bash
5.使用--mount标记将本地目录/data/datavolume以只读权限挂载到容器/data目录:
docker run --mount type=bind,source=/data/datavolume,target=/data,readonly -it centos /bin/bash

五、Docker数据卷操作——挂载数据卷容器的方法

语法:docker run --volumes-from [CONTAINER NAME]

六、Docker数据卷操作——删除数据卷

示例:
1.删除数据卷
docker volume rm 数据卷名
2.删除容器的同时删除数据卷
docker rm -v 容器名/容器ID
3.删除无主的数据卷
docker volume prune

七、数据卷备份方法

docker run --volumes-from [container name] -v $(pwd):/backup ubuntu
tar cvf /backup/backup.tar [container data volume]

八、数据卷还原方法

docker run --volumes-from [container name] -v $(pwd):/backup ubuntu
tar xvf /backup/backup.tar [container data volume]

猜你喜欢

转载自blog.csdn.net/q13554515812/article/details/84111715
今日推荐