匿名挂载
-v 容器内路径
docker run -d -P —name nginx01 -v /etc/nginx nginx
// 端口映射-p -P之间的区别
-p指定要映射的端口,即后面跟宿主机端口:容器内端口
-P不需要指定端口,容器内的随机端口自动映射到宿主机的端口查看所有Volume的情况
docker volume ls #显示出docker 所有的已知卷
// volume是指将本宿主机上相应的目录挂载到容器内,这样就能实现数据持久化
具名挂载
- -v 卷名:容器内路径
docker run -d -P —name tomcat-xjc -v Osis:/etc/tomcat tomcat
- 查看一下这个卷的信息
docker volume inspect Osis
#Mountpoint指定的是宿主机中挂载在容器中的目录
- 到相应的目录下查看,判断是否挂载成功
三者区别
-v 容器内路径 #匿名挂载
-v 名字:容器内路径 #具名挂载
-v 宿主机目录:容器内目录 #指定路经挂载
注意:非指定路径挂载的宿主机目录都是 /var/lib/docker/volumes/XXX/_data
扩展
-v 容器内路径:ro rw 改变读写权限
docker run -d -P —name tomcat01 -v /etc/tomcat:vo tomcat
docker run -d -P —name tomcat02 -v/etc/tomcat:vw tomcat
#vo 表示这个被挂载的目录只能够在宿主机中进行操作,容器内部是无法操作(只能读)的