docker 08 数据卷

  1. 创建数据卷
  2. 查看卷列表
  3. 查看卷信息
  4. 使用数据卷
  5. 删除数据卷

在Docker理念中,数据不随容器的结束而结束

重要的数据都需要被持久化到宿主机上

数据持久化主要有两种方式

  • bind mount
    宿主机资源被挂载到容器中,容器中原有内容会被遮盖~

  • volume
    也是宿主机上的资源,但是由docker程序自己管理
    在/var/lib/docker/volumes目录下

两种方式都是把数据持久化在宿主机上

那么,区别是什么呢?

bind mount在不同的宿主机系统时不可移植的,比如Windows和Linux的目录结构是不一样的,bind mount所指向的host目录也不能一样。这也是为什么bind mount不能出现在Dockerfile中的原因,因为这样Dockerfile就不可移植了。

volume被推荐为首选方式的原因

  • 更容易备份或迁移
  • 可用docker CLI或Docker API来管理
  • 在Linux和Windows上都能工作
  • 可以在多个容器之间更安全的共享
  • 允许你在远程主机或云上提供存储、加密或其他功能
  • 新volume的内容可以由容器预填充

创建数据卷

docker volume create <volume_name>

查看卷列表

docker volume ls

查看卷信息

docker volume inspect <volume_name>

你也可以用这个

docker volume <volume_name>

使用数据卷

看到这里的时候,你应该已经掌握了《docker 04 容器》

volume的使用很简单

-v 前面主机的映射路径改成数据卷名称即可

docker run -v <volume_name>:/opt//data ...

删除数据卷

docker volumn rm <volume_name>

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:docker 08 数据卷

字数:393

本文作者:夏来风

发布时间:2019-09-04, 14:52:42

原始链接:http://www.demo1024.com/blog/docker-volume/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。