博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker数据管理
阅读量:2337 次
发布时间:2019-05-10

本文共 1088 字,大约阅读时间需要 3 分钟。

docker数据管理分为2中模式

  • 1 数据卷
  • 2 数据卷容器

 

数据卷

供容器读写的特殊目录,容器被销毁后宿主机上被挂载目录中的文件还是存在的。尽量挂载目录,不要挂载文件,在早期的docker版本中如果修改了挂载的文件,文件inode号有可能会发生改变

在宿主机上创建挂载目录

mkdir /opt/data

docker run -it --rm -v /opt/data:/opt centos bash

  • -v参数 挂载参数
  • /opt/data 宿主机上/opt/data目录
  • /opt 挂载到容器/opt目录

docker inspect 0729b74e9cd9

把宿主机/opt/data目录挂载到容器/opt下,这样在宿主机/opt/data修改文件,容器中/opt也会同步操作,容器销毁了,宿主机上/opt/data目录中的文件依然存在

指定权限挂载(rw,ro) 默认为读写

docker run -it -v /opt/data:/opt:ro centos bash

 

数据卷容器

共享容器中的目录,让一个容器访问另一个容器的目录

创建一个容器挂载宿主机/opt/data目录

docker run -it -v /opt/data --name mydata centos bash

在创建一个挂载mydata容器/opt/data目录的新容器data

docker run -it --volumes-from mydata --name data centos bash

--volumes-from  挂载数据卷容易 后面要跟容器名

发现在mydata容器下创建的123文件在data容器中也能看到,如果我们停掉或销毁mydata容器那么data容器中/opt/data目录下的文件是否还存在?答案是/opt/data目录下的文件依然存在,原理是挂载点只有未被使用的情况下才会销毁,只要有一个容器在使用该挂载点就不会被销毁

 

那么如果我们想要销毁容器时同时销毁容器中挂载点该如何做?

docker rm -fv data

  • -f 强制删除正在运行的榕溪
  • -v 删除数据卷

最好是在销毁容器并确定卷内文件没有用的时候加-v参数删除,所以以后删除容器的时候无论是挂载数据卷还是挂载数据卷容器来的都要加-v参数

 

为什么要删除挂载点数据卷那?

因为如果我们删除容器的时候没有加-v参数是不会销毁容器内部挂载点的,长时间下来会产生大量孤儿文件

docker volume ls

 

docker volume prune

prune : 删除所有未被使用的本地卷 最好慎用

 

 

 

 

 

 

 

 

 

 

 

 

 

转载地址:http://omepb.baihongyu.com/

你可能感兴趣的文章
402. Remove K Digits
查看>>
75. Sort Colors
查看>>
获取数组中前K小的数字
查看>>
数组heapify变为堆结构
查看>>
二叉树的非递归遍历
查看>>
218. The Skyline Problem
查看>>
Java PAT (Basic Level) Practice 写出这个数
查看>>
Python PAT (Basic Level) Practice 1016 部分A+B
查看>>
Python PAT (Basic Level) Practice 1006 换个格式输出整数
查看>>
Python PAT (Basic Level) Practice 1009 说反话
查看>>
Python PAT (Basic Level) Practice 1011 A+B 和 C
查看>>
Python PAT (Basic Level) Practice 1017 A除以B
查看>>
Python PAT (Basic Level) Practice 1042 字符统计
查看>>
spring dubbo 2.7.3 zookeeper 项目构建
查看>>
spring dubbo 报错
查看>>
如何在非 bean 对象中注入 dubbo service
查看>>
前后端分离 ajax java跨域配置 spring boot 、 spring security
查看>>
java spring boot 拦截所有请求 显示请求路径 方法 ip 等
查看>>
java spring boot jackson 配置 null字符串为"" null数组为[]
查看>>
java redistemplate 配置序列化
查看>>