Docker 入门 数据卷(5)

一、什么是数据卷? (volume)

     volume是docker的一个对象, 它是为了能够让容器中的数据(文件)永久保存,能够让宿主机直接访问容器中的文件,让容器之间能够共享文件而引入的对象。  

    有了数据卷之后,容器的关闭或者崩溃就不会再导致数据的丢失, 也方便了数据的备份,迁移和恢复。

二、 数据卷(volume)的特点   

特点:

      1. 数据卷存在于宿主机的文件系统中, 独立于容器,和容器的生命周期是分离的。

      2. 数据卷可以是目录也可以是文件,容器可以利用数据卷于宿主机进行数据共享和交换。

      3. 容器启动初始化时,如果容器使用的镜像包含了数据,这些数据会复制到数据卷中

      4. 容器对数据卷的修改是实时进行的。

      5. 数据卷的变化不会影响镜像的更新,数据卷是独立于联合文件系统的,镜像是基于联合文件系统的。

      6. 数据卷能在不同的容器之间共享和重用

其他情况: 

       下面两个规则很重要,灵活利用第一个规则可以帮助我们初始化数据卷中的内容,掌握第二个规则可以保证挂载数据卷后的数据总是你期望的结果。 

       1. 如果挂载一个空的数据卷到容器中的一个非空目录中,那么这个目录下的文件会被复制到数据卷中 

       2. 如果挂载一个非空的数据卷到容器中的一个目录,那么容器中的目录中会显示数据卷中的数据,如果原来的容器中的目录中有数据, 那么这些原始的数据会被隐藏掉。

三、 数据卷挂载的三种方式

     1. bind mounts 方式:将宿主机上的一个文件或目录被挂载到容器上。

         利用docker run/create的参数为容器挂载数据卷

         方式一: -v, --volume参数用法:

                      -v 宿主机文件或文件夹路径:容器中的文件或者文件夹路径

         方式二:--mount参数

                     --mount type=bind, src=宿主机文件或文件夹路径, dst=容器中的文件或者文件夹路径

                     注意:src指定的文件和路径必须提前创建或存在

         命令演示:

        

     2. volumes 方式(使用较多):由Docker创建和管理。使用docker volume命令管理

         利用docker run/create为容器挂载数据卷

         用法:

           方式一: -v, --volume参数

                          -v VOLUME-NAME:容器中的文件或者文件夹路径

           方式二:--mount 参数

                         --mount type=volume, src=VOLUME-NAME, dst=容器中的文件或者文件夹路径

       volume对象管理命令:

docker volume create创建数据卷对象

docker volume inspect 

查看数据卷详细信息
docker volume ls 

查看已创建的数据卷对象

docker volume prune 删除未被使用的数据卷对象
docker volume rm 删除一个或多个数据卷对象

      

     3. tmpfs mounts方式tmpfs 是一种基于内存的临时文件系统。tmpfs mounts 数据不会存储在磁盘上。  --mount type=volume, src=VOLUME-NAME, dst=容器中的文件或者文件夹路径

       利用docker run/create为容器挂载数据卷

       用法: --mount type=tmpfs, dst=PATH

参考资料:

http://dockone.io/article/128

https://docs.docker.com/storage/volumes/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值