tips:如果要批量删除所有卷,一个一个rm显然太麻烦了,可以用下面的方式快速搞定
a) 进入docker虚拟机defaut
docker-machine ssh defaultb) 查看volume所在的目录

c)切换到sudo模式
sudo -i
d) 进入volume所在根目录
cd /var/lib/docker/volumes/
上图的ls命令已经说明,所谓的数据卷,其实就是一个个目录,再次印证了linux里的一句名言『一切皆是文件』,剩下的事情,地球人都知道了,邪恶的
rm -rf *,最后还要重启虚拟机,退回到mac主机
docker-machine restart default 3.4 数据卷容器
如果多个容器之间希望共享一份数据,除了上面的方式外,docker还允许定义一个专用的容器,这个容器啥也不干,只用来放数据,这种容器称为『数据卷容器』
示例:
docker run -it -v /Users/yjmyzz/docker_volumn:/sites --name site_files kitematic/hello-world-nginx echo 'only for nginx web files'上面的命令跟之前创建卷的完全一样,现在我们有了一个名为site_files的数据卷容器,注意:创建数据卷容器时,最后的命令通常都是些打酱油的echo之类,反正只是一个存数据的容器,不用执行其它命令,甚至它本身都不需要处于启动状态。
然后,其它容器创建时,就可以使用它了:
docker run -d --volumes-from site_files --name nginx1 kitematic/hello-world-nginx sh ./start.sh注意上面的
--volumes-from site_files 这个就是使用数据卷容器的关键,其它跟之前的完全相同,多个容器可以挂同一个数据卷容器,一个容器也可以挂多个数据卷容器。四、网络相关
4.1 端口映射
-p IP:host_port:container_port上面的参数表示将本机IP上的hostport映射到容器的container_port,示例:
docker run -it -v /Users/yjmyzz/Documents/Kitematic/hello-world-nginx/website_files:/website_files -p 0.0.0.0:10080:80 --name my-nginx kitematic/hello-world-nginx sh /start.sh这个命令更长了,结合了之前所有学习到的参数,注意多出的问题-p 0.0.0.0:10080:80,表示将本机10080端口映射到容器80端口
注:如果把-p换成大写的-P,系统会随机映射到本机一个空闲的端口号










