美文网首页
docker数据卷

docker数据卷

作者: 呦丶耍脾气 | 来源:发表于2022-02-11 17:10 被阅读0次

什么是数据卷

是一个可供一个或多个容器使用的特殊目录

特性:

  • 数据卷可以在容器之间共享和重用
  • 对数据卷的修改会立马生效
  • 对数据卷的更新,不会影响镜像
  • 数据卷默认会一直存在,即使容器被删除

为什么需要数据卷?

出于效率等一系列原因,docker 容器的文件系统在宿主机上存在的方式很复杂,这会带来下面几个问题:

  • 不能在宿主机上很方便地访问容器中的文件。
  • 无法在多个容器之间共享数据。
  • 当容器删除时,容器中产生的数据将丢失。

使用数据卷的最佳场景

  • 在多个容器之间共享数据,多个容器可以同时以只读或者读写的方式挂载同一个数据卷,从而共享数据卷中的
    数据。
  • 当宿主机不能保证一定存在某个目录或一些固定路径的文件时,使用数据卷可以规避这种限制带来的问题。
  • 当你想把容器中的数据存储在宿主机之外的地方时,比如远程主机上或云存储上。
  • 当你需要把容器数据在不同的宿主机之间备份、恢复或迁移时,数据卷是很好的选择。

数据卷应用

1 创建数据卷

docker volume create 数据卷名称

创建数据卷之后,默认会存放到目录: /var/lib/docker/volume/数据卷名称/_data目录下

2 查看数据卷

docker volume inspect 数据卷名称

3 查看全部数据卷信息

docker volume ls

4 删除数据卷

docker volume rm 数据卷名称

5 应用数据卷

5.1 当你映射数据卷时,如果数据卷不存在,Docker会帮你自动创建

docker run -v 数据卷名称:容器内路径 镜像ID

5.2 直接指定一个路径作为数据卷的存储位置

docker run -v 路径:容器内部的路径 镜像ID

如果挂载数据卷是报错:docker: Error response from daemon: error while creating mount source path '/usr/local/docker/nginx/html': mkdir /usr/local/docker: read-only file system.
这种可能是snap安装的docker有一个bug,不能挂在/home之外的地方,将挂载目录放到home下面试试

相关文章

网友评论

      本文标题:docker数据卷

      本文链接:https://www.haomeiwen.com/subject/fogakrtx.html