Docker存储 - 图1

本地存储

挂载本地主机目录

docker run -it —mount type=bind,source=/html,target=/var/www/,readonly centos:6 bash

docker run -v /home/adrian/data:/data debian ls /data

容器存储卷

数据卷:
数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:

数据卷 可以在容器之间共享和重用
对 数据卷 的修改会立马生效
对 数据卷 的更新,不会影响镜像
数据卷 默认会一直存在,即使容器被删除

注意:数据卷的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的 数据卷。
创建的卷默认挂载点在/var/lib/docker/volumes/

命令参数 -v 或mount

1.创建一个数据卷

docker volume create test-vol

2.添加一个数据卷容器

docker run -it -v test centos bash

3.添加一个数据卷到指定目录

docker run -it -v test:/data centos bash
docker run -it —mount source=test,target=/data centos bash

4.删除数据卷

docker volume prune
docker volume rm test
如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用 docker rm -v 这个命令。

5.数据共享:

如果要授权一个容器访问另一个容器的Volume,我们可以使用-volumes-from参数来执行docker run
docker run -it —volumes-from xenodochial_tesla centos bash
不管对方容器什么时候运行,它都会起作用,只要有容器连接volume,volume就不会被删除。