docker数据卷学习补充

docker关于数据卷的学习补充

之前学过一些docker,但是发现隔段时间不用,有些知识又想不起来了

昨天在启动容器绑定数据卷是一直实现不了数据同步,让我百思不得其解,今天咋一看,是一个细节问题:数据卷绑定错误!

4D70BA1C7884543E1E78B6186F72665E

在这里插入图片描述

如上,可以看到我在容器tomcat-01里面绑定的容器内目录是webapps,但这是错误的,上面的做法是绑定不到的,应该写上全路径,如下:

# docker run -it -d -p 3348:8080 --name "tomcat-01" -v tomcat-01:/usr/local/tomcat/webapps tomcat 

可见,在数据卷挂载的时候路径一定要写正确,否则无效


下面再补充一些关于数据卷的知识:

  1. 数据卷可以被多个容器挂载,故一般我们可以先在宿主机创建一个数据卷,在创建容器时,直接可以将容器内部的某个目录挂载到指定宿主机目录,同时多个容器可以共同使用一个数据卷,从而实现容器间的文件共享

  2. 数据卷在宿主机存放的目录是: /var/lib/docker/volumes/

  3. 数据卷的操作

    1. 增,使用docker volume create [数据卷名], 如

      [root@VM-16-12-centos web1]# docker volume create mysql-02
      mysql-02
      
      1. 查看全部数据卷,用docker volume ls,如

        [root@VM-16-12-centos web1]# docker volume ls
        DRIVER    VOLUME NAME
        local     mysql-01
        local     mysql-02
        local     nginx01
        local     tomcat01
        
      2. 查看某个数据卷的具体信息,用docker volume inspect [数据卷名],如

        [root@VM-16-12-centos web1]# docker volume inspect mysql-02
        [
            {
                "CreatedAt": "2022-02-15T14:10:07+08:00",
                "Driver": "local",
                "Labels": {},
                "Mountpoint": "/www/server/docker/volumes/mysql-02/_data",
                "Name": "mysql-02",
                "Options": {},
                "Scope": "local"
            }
        ]
        
    2. 删,使用docker volume rm [卷名]…删除一个或者多个数据卷

      使用docker volume prune 删除所有未被使用的数据卷

    3. 使用

      1. 匿名挂载

        -v [容器内路径]

      2. 具名挂载

        -v 卷名: [容器内路径]

      3. 指定路径挂载

        -v [宿主机内路径]:[容器内路径]


      本次分享到这!!!

      20200527191453367

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员-小李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值