【Linux】Docker数据卷
作用:将容器的的目录和本机的目录映射起来,实现两个目录的同步
在创建容器时绑定数据卷,可绑定多个:
| docker run -it -v <主机路径>:<容器内路径> -v <主机路径>:<容器内路径> |
必须是完整的路径,如果不是完整路径则是具名挂载 |
|---|---|
| docker run -it -volumes-from <容器名> |
继承其他容器的数据卷挂载 |
数据卷的一些指令
| create | 创建卷 |
|---|---|
| docker inspect <volumes名> | 查看卷的详细信息 |
| ls | 列出所有卷 |
| rm | 删除卷 |
查看指定容器的数据卷
| docker inspect <容器id> | 在这个json文件中的Mounts中 |
|---|---|
| 具名挂载 | docker run -v <volumes名>:<容器内路径> |
|---|---|
| 匿名挂载 | docker run -v <容器内路径> |
具名挂载和匿名挂载,是不指定主机路径的一种挂载数据卷方式
相同点:
- 都是一种不指定主机路径的挂载数据卷的方式
- 保存的路径位置都在/var/lib/docker/volumes下
- /var/lib/docker/volumes下的每个单独的文件夹为一个数据卷,对应着自己映射的容器路径
不同点:
- 具名挂载生成在/var/lib/docker/volumes路径下的名称是自己指定的<volumes名>,可以方便的找到卷名
拓展:
在挂载数据卷时,可以控制这个容器对主机路径的操作权限
| docker run -it -v <主机路径>:<容器内路径>:ro | read only只读 |
|---|---|
| docker run -it -v <主机路径>:<容器内路径>:rw | readwrite可读可写 |