-v 指定的是挂载卷。
即,将操作系统的某一个目录/文件映射到容器内的另一个路径,使得容器内部可以读/写这个目录/文件。
譬如你的操作系统有目录/opt/container/data01
,想给容器使用,且容器内看到的路径为/var/lib/mysql/
那么你就指定如下,默认权限为读/写。
-v /opt/container/data01:var/lib/mysql/
这样,当你在容器内,把数据写入/var/lib/mysql/
或者从这里读取时,就相当于从操作系统的/opt/container/data01
目录下读写了。即使容器被杀掉或删除,这数据仍然是保留下来的,这就是所谓的持久化。
当你使用相同的镜像拉起一个新容器运行,挂在同样的目录,那么新的容器也能读写这些文件,这样就保证了容器作为程序的设计,即:故障处理后,新容器能有和旧容器有相同的表现。