Docker 容器数据卷
2024-01-07 17:57:33
Docker 容器数据卷
1 卷是什么
卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过Union File System提供些用于持续存储或共享数据的特性:
卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此Docker不会在容器删除时删除其挂载的数据卷。
卷的用途就是将Docker内的数据保存到宿主机的磁盘中
2 挂载卷命令
**docker run -v 宿主机路径:容器内路径[:读写权限] --privileged=true [其它参数] image
- 读写权限 是对容器内的限制,默认为rw 可读可写,其它可选值还有ro 只读
- –privileged=true,设置为true, container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限,建议加上,否则可能会出现:“ cannot open directory .: Permission denied”
如果是CentOS7安全模块会比之前系统版本加强,不安全的会先禁止,所以目录挂载的情况被默认为不安全的行为,ESELinux里面挂载目录被禁止掉了额,如果要开启,我们一般使用-privleged=true命令,扩大容器的权限解决挂载目录没有权限的问题,也即**使用该参数,container内的root拥有真正的root权限,否则,container内的root只是外部的一个普通用户权限。
挂载后,
1 docker修改挂载文件、目录,主机同步获得
2 主机修改挂载文件、目录,docker同步获得
3 docker容器stdp,主机修改,docker容器重启数据自动同步。
2.1查看挂载信息
docker inspect c72#(容器ID)
#查看输出的Mounts 部分 Source 宿主机路径,Destination 容器内路径
"Mounts": [
{
"Type": "bind",
"Source": "/tmp/dockerubuntu",
"Destination": "/tmp/data",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
],
2.2 读写限制
docker run -v 宿主机路径:容器内路径[:读写权限] --privileged=true [其它参数] image
- 读写权限 是对容器内的限制,默认为rw 可读可写,其它可选值还有ro 只读
2.2 卷的继承和共享
启动时加参数
–volumes-from 父类容器ID
其实质就是: -v 父类容器ID的挂载规则 ,容器移动后 跟父容器除挂载目录一样外并无其它关系
文章来源:https://blog.csdn.net/prcyang/article/details/135437781
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!