docker-数据卷

docker-数据卷

丁起男 15 2022-09-21

docker-数据卷

docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了,为了能保存数据在docker中我们使用卷

卷就是目录或文件,存在于一个或多个容器中,由docker挂载到容器,但不属于联合文件系统,因此能够绕过联合文件系统提供的一些用于持续存储或共享数据的特性

卷的设计目的就是数据的持久化,完全独立于容器的生存周期,因此docker不会在容器删除时删除其挂载的数据卷

语法

docker run [参数] -v 本机绝对路径:容器内绝对路径[:rw|ro] [--privileged=true] 镜像名
  • –privileged=true:放开权限,否则容器root用户只是宿主机的一个普通用户权限
  • -v:指定映射路径,如果没有这个目录,则会新建。可以指定多个
  • :rw|ro:不指定默认就是rw模式,代表可读可写;ro代表只读模式,此时宿主机昔日内容,可以同步给容器内,但不能在容器内进行写操作

查看是否挂载成功

docker inspect 容器id

通过查看Mounts可以查看绑定情况

继承

docker run [参数] --volumes-from 父类容器名 [--privileged=true] 镜像名

通过--volumes-from复用另一个容器的数据卷(只是继承规则,父容器的生死不会影响当前容器)

特点

  • 数据卷可以在容器之间共享或重用数据
  • 卷中的更改可以之间实时生效
  • 数据卷中的更改不会包含在镜像的更新中
  • 数据卷的生命周期一直持续到没有容器使用它为止