数据卷
三种挂载方式
volume
:挂载宿主机文件系统的固定位置(/var/lib/docker/volumes/卷名/_data
)Bind mounts
:挂载宿主机系统的任意位置。tmpfs mounts
:挂载存储在宿主机系统的内存中,不会写入宿主机的文件系统,容器关闭重启数据丢失。
volume
bind mounts(自定义目录挂载)
运行容器挂载宿主机文件夹,宿主机文件夹不存在报错。
宿主机文件夹为空,运行容器挂载宿主机文件夹,宿主机文件夹覆盖容器文件夹。
宿主机文件夹非空,运行容器挂载宿主机文件夹,宿主机文件夹覆盖容器文件夹
tmpfs mounts
挂载到宿主机内存,容器文件夹文件被覆盖掉了。
数据卷命令
命令
说明
docker volume ls
列出所有卷
docker volume create 卷名
创建卷
docker volume inspect 卷名
查看卷详细信息
docker volume rm 卷名1 卷名2 ...
删除卷
docker volume prune
删除未被使用的卷,容器停止的占用的卷也不会删除
-v 灵活挂载
-v
等价于 --volume
,可以实现三种类型的挂载,匿名挂载、具名挂指定路径。
匿名挂载
自动创建卷,容器内的文件夹覆盖宿主机上的文件夹。
具名挂载
需手动创建卷,当宿主机文件夹非空时,宿主机文件夹会覆盖容器文件夹,否则容器文件夹覆盖宿主机文件夹。
不存在的卷会自动创建,容器文件夹覆盖宿主机文件夹。
指定路径挂载
当宿主机存储文件夹时,宿主机文件夹会覆盖容器文件夹。宿主机文件夹不存在时,自动在宿主机上创建文件夹
指定文件夹的可读与可写
通过 ro rw 改变读写权限
ro:表示该卷是以只读的方式挂载到容器内部,容器内部不能执行写操作。
rw:(默认)表示该卷是以可写的方式挂载到容器内部,容器内部可执行写操作。
最后更新于
这有帮助吗?