為了防止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
宿主有數據時,以宿主機為准
宿主無數據,從容器復制過來,再以宿主機為准