Docker持久化之Bind Mount与Volume

type
status
date
slug
summary
tags
category
icon
password
为了防止 docker 里序列化数据的丢失,docker 采用了挂载的方式 volume
这种方式,linux 中,docker 会在/var/lib/docker/volumes 下生成 volumeName 目录,将 containerPath 的目录挂载在/var/lib/docker/volumes/$volumeName/\_data 里 如果不指定 volumeName,将随机生成一个文件 这种方式便是 volume
同时,为了能够自定义文件存在位置,还可以通过 docker -v 绝对路径 或者 ~/path:containerPath 的方式,指定位置 这种方式,被称为 bind mount
通过 docker volume inspect volumeName 查看 volume 的模式的挂载信息 也可以通过 docker inspect $name| grep Mounts -A 10 查看信息,俩种方式都支持
还有需要注意的是:
  • bind mount
    • 容器以宿主机文件夹为准
    • 使用 bind Mounting 方式做数据卷的映射时,首次 docker run -v 运行,如果本机的文件夹是没有内容的,docker 容器中的文件夹是有内容的,则本机的会覆盖 dokcer 容器中的,也就是容器中原本有内容的也会没有内容。
  • volume
    • 宿主有数据时,以宿主机为准
    • 宿主无数据,从容器复制过来,再以宿主机为准
Loading...

没有找到文章