一、匿名挂载

1、即不指定挂载到主机上的路径,只指定容器内部需要挂载的目录。

 

 

 

 

2、查看宿主机所有卷的挂载情况。

  docker volume ls

 

 图中标记的数据卷都是匿名数据卷,因为没有名字。

  local   2a033f3bf262662cba43289e90ce97a152e116863c77038192471a2692594fbb

 

二、具名挂载

 

1、给挂载位置添加名字,即具名挂载。

  

  指令:docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

  注意:这里 -v juming-nginx:  代表直接给定名字,但是没有指定路径,如果在juming-nginx前面你添加/,则代表指定路径。

  如图,查看数据卷一栏增加了刚刚添加的数据卷。

 

2、查看数据卷的配置信息。

    指令:docker volume inspect 数据卷id

 

   “Mountpoint”即在主机上上分配的挂载路径。

  所有容器内的卷,在没有指定目录的情况下都是挂载在:/var/lib/docker/volumes/xxxx/_data  目录下。

 

3、进入主机的卷目录,查看数据卷的配置信息

 

 

   可以看到,容器内部映射过来的 nginx.conf 文件已经同步过来了

可以查看配置信息。命令:cat nginx.conf

 

 

 

4、通过具名挂载可以方便地找到挂载的卷,大多数情况下都是使用具名挂载的方式。

 

三、具名挂载、匿名挂载和指定路径挂载的区别

1、

  -v 容器内部路径                      #匿名挂载

  -v 卷名:容器内部路径           #具名挂载

  -v /宿主机路径:容器内部路径    指定路径挂载

 

2、数据卷挂载还可以赋予权限

  通过  -v 容器内路径 :ro或rw  改变读写权限

  例子:

    docker run -d -P --name ningix01 -v /etc/nginx nginx:ro
  即创建的这个卷是只读权限(read only),即容器内部职能读取,不能修改,必须通过宿主机来进行修改。
 
  默认是rw权限,即可读可写。

 

  -*-本篇使用到的命令-*-

 

1、匿名挂载指令
  例子:docker run -d -P --name ningix01 -v /etc/nginx nginx
  -P 随机映射端口
  --name 容器名字
  -v /etc/nginx,只指定容器内部需要挂在的路径。

2、查看所有卷的挂载情况
  指令说明:

  Usage: docker volume COMMAND

  Manage volumes

  Commands:
    create       Create a volume
    inspect        Display detailed information on one or more volumes
    ls            List volumes
    prune         Remove all unused local volumes
    rm            Remove one or more volumes

  例子:docker volume ls   查看所有的数据卷
     docker volume inspect 数据卷id 查看某个数据卷的详细配置信息


3、cat 文件名 --在终端中打开文件


 

 posted on 2021-09-05 16:29  佩剑君子  阅读(679)  评论(0编辑  收藏  举报