(docker笔记):具名挂载与匿名挂载

目录

具名和匿名挂载

匿名挂载

docker volume命令

具名挂载


具名和匿名挂载

匿名挂载

  • 只指定容器内,未指定容器外
docker run -d -P --name nginx01 -v /etc/nginx nginx
-v 容器内路径 不去写主机上的路径,会自动创建一个路径
-P 大写的P,随机指定端口

docker volume命令

  • 能够发现卷的名称是一串字符,这种就是匿名挂载
  • 在 -v 的时候只写了容器内的路径,没有写容器外的路径

具名挂载

  • 通过 -v 卷名:容器内路径 来为卷命名
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx

  • 查看卷名具体位置
docker volume inspect juming-nginx

  • 所有的 docker 容器内的卷,没有指定目录的情况下都是在:/var/lib/docker/volumes/xxxx/_data
  • 我们通过具名挂载可以方便的找到我们的一个卷,大多数情况也是在使用具名挂载

  • 那么问题来了,我们该如何确定是具名挂载还是匿名挂载,亦或是指定路径挂载呢?
-v 容器内路径 匿名挂载
-v 卷名:容器内路径 具名挂载
-v /宿主机路径:容器内路径 指定路径挂载 ,注意有/
  • 注意
    • 有时候我们会遇到这样的一个命令,路径后面跟着一个 ro 或 rw
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:ro nginx
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx:rw nginx
  • 一旦设置了容器的权限,容器对我们挂载出来的内容就有限定了
  • ro 只要看到 ro 就说明这个路径只能通过宿主机来操作,容器内部是无法操作的,默认为 rw

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/108561283