匿名挂载

  1. -v 容器内路径

    docker run -d -P —name nginx01 -v /etc/nginx nginx
    image.png
    // 端口映射-p -P之间的区别
    -p指定要映射的端口,即后面跟宿主机端口:容器内端口
    -P不需要指定端口,容器内的随机端口自动映射到宿主机的端口

  2. 查看所有Volume的情况

    docker volume ls #显示出docker 所有的已知卷
    image.png
    // volume是指将本宿主机上相应的目录挂载到容器内,这样就能实现数据持久化

具名挂载

  1. -v 卷名:容器内路径

docker run -d -P —name tomcat-xjc -v Osis:/etc/tomcat tomcat
image.png

  1. 查看一下这个卷的信息

docker volume inspect Osis
image.png
#Mountpoint指定的是宿主机中挂载在容器中的目录

  1. 到相应的目录下查看,判断是否挂载成功

image.png

三者区别

-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 表示这个被挂载的目录只能够在宿主机中进行操作,容器内部是无法操作(只能读)的