Docker 数据卷之进阶篇

》一文中介绍了 docker 数据卷(volume) 的基本用法。随着使用的深入,笔者对 docker 数据卷的理解与认识也在不断的增强。本文将在前文的基础上介绍 docker 数据卷的原理及一些高级用法。如果您想先了解 docker 数据卷的基本概念与用法,请先移步

其生存周期独立于容器的生存周期。

create        创建数据卷inspect      显示数据卷的详细信息 ls               列出所有的数据卷prune        删除所有未使用的 volumes,并且有 -f 选项rm             删除一个或多个未使用的 volumes,并且有 -f 选项

type 指定挂载方式,我们这里用到的是 volume,其实还可以有 bind 和 tmpfs。volume-driver 指定挂载数据卷的驱动程序,默认值是 local。source 指定挂载的源,对于一个命名的数据卷,这里应该指定这个数据卷的名称。在使用时可以写 source,也可以简写为 src。destination 指定挂载的数据在容器中的路径。在使用时可以写 destination,也可以简写为 dst 或 target。readonly 指定挂载的数据为只读。volume-opt 可以指定多次,用来提高更多的 mount 相关的配置。

- -- type=volume,source=hello,target=/world ubuntu /bin/bash

$ docker plugin --grant-all-permissions vieux/sshfs

docker volume create --driver vieux/-o sshcmd=nick@.:/home/nick/-o password=

docker run ----- type=volume,volume-driver=vieux/sshfs,source=mysshvolume,target=//bin/bash

- --name testcon -- type=volume,target=/world ubuntu /bin/bash

(,,,MS_BIND,NULL)

/data

VOLUME 指令不能挂载主机中指定的目录。这是为了保证 Dockerfile 的可一致性,因为不能保证所有的宿主机都有对应的目录。在 Dockerfile 中使用 VOLUME 指令之后的代码,如果尝试对这个数据卷进行修改,这些修改都不会生效!下面是一个这样的例子:

chown -R nick:nick /data

/data

touch /data/test.txt && chown -R nick:nick /data && /bin/bash

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...