杨友山 2019-12-25
为了防止docker里序列化数据的丢失,docker采用了挂载的方式 volume
docker -v volumeName:containerPath 或者 docker -v containerPath
这种方式,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
容器以宿主机文件夹为准
volume
宿主有数据时,以宿主机为准
宿主无数据,从容器复制过来,再以宿主机为准