• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Docker数据存储之Bind mounts详解

    阅读本文前,希望你已经对Volumes有了初步的了解,具体可以参考这篇文章:

    Docker数据存储之Volumes详解

    默认容器的数据的读写发生在容器的存储层,当容器被删除时其上的数据将会丢失。所以我们应该尽量保证容器存储层不发生写操作,为了实现数据的持久化存储我们需要选择一种方案来保存数据,当前有以下几种方式:

    下图展示了这三种技术:

    Bind mounts

    Bind mounts模式和Volumes非常相似,不同点在于Bind mounts模式是将宿主机上的任意文件或文件夹挂载到容器,而Volumes本质上是将Docker服务管理的一块区域(默认是/var/lib/docker/volumes下的文件夹)挂载到容器。

    Bind mounts的使用和Volumes类似,也是通过-v--mount参数将宿主机文件挂载容器中。下面是一个例子:

    使用--mount参数时,需要指定type=bind

    $ docker run -d \
    
     --name=nginxtest \
    
     --mount type=bind,source=/usr/local/web,destination=/usr/share/nginx/html \
    
     nginx:latest

    上面的例子将宿主机上的/usr/local/web文件夹挂载到容器中的/usr/share/nginx/html文件夹。

    或者使用-v参数:

    $ docker run -d \
    
     --name=nginxtest \
    
     -v /usr/local/web:/usr/share/nginx/html \
    
     nginx:latest

    挂载成功后,容器从/usr/share/nginx/html目录下读取或写入数据,实际上都是从宿主机的 /usr/local/web目录中读取或写入数据。因此Volumes或Bind mounts也可以看作是容器和宿主机共享文件的一种方式。

    如果你使用Bind mounts挂载宿主机目录到一个容器中的非空目录,那么此容器中的非空目录中的文件会被隐藏,容器访问这个目录时能够访问到的文件均来自于宿主机目录。这也是Bind mounts模式和Volumes模式最大的行为上的不同。

    Bind mounts使用场景

    请参考这篇文章:Docker数据存储总结

    参考文章

    https://docs.docker.com/storage/bind-mounts/

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

    上一篇:Docker数据存储之Volumes详解
    下一篇:Docker数据存储之tmpfs mounts详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Docker数据存储之Bind mounts详解 Docker,数据,存储,之,Bind,