linux-centos7-docker-容器储存永久保存

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux-centos7-docker-容器储存永久保存相关的知识,希望对你有一定的参考价值。

 docker容器
docker缺点是容器删除,容器中所有的资料全部删除,
所以为了资料的长久保存需要外部数据卷,或者数据容器 
按照我的理解...就是把物理机上的一个目录挂载到容器中,让容器使用物理目录来储存数据
命令也很简单,就是
-v 本地目录:容器目录     可以不用自己创建,它本身会自动创建没有的目录
 -v  /aaa:/aaa
有时候物理机没有关闭selinux的话可能容器是没有权限的,这时候需要给容器开启特权就是
 --privileged=true 让容器有特权才能使用挂载目录,或者关闭selinux都可以
 
setenforce 0  临时关闭
或者有永久关闭

vim /etc/sysconfig/selinux

selinux=disabled

技术分享

在docker详细信息中可以看到挂在消息

技术分享



如果单独 -v  /var   只是指定容器目录的话,
在docker本地目录会自动生成一个目录供给挂载,但是名字很难记

技术分享


中间最长的一段代码就是目录名,是怎么生成的并不懂,反正不好记

--volumes-from 容器名  
使用这个命令,可以直接使用已经生成的数据卷容器,相当于指定的这个容器用-v 配置了什么 这个新生成的容器也相同的拥有
可以简化命令,省的每次启动容器都要使用-v 一长串,如果是多个-v 会很乱生成一个数据卷容器就会轻松很多

使用docker命令来备份某个容器目录中的文件,或者整个目录
docker run 
-rm   删除容器,备份完直接删除这个容器
--volumes-from 容器名     指定要备份哪个容器
-v  本地:容器目录      
镜像名
tar    cvf     压缩
/容器目录/名字.tar    /需要备份的目录或者文件
完整命令例子

技术分享



还原也简单,只需要把  cvf  改成  xvf即可   可以不用指定目录回复,直接选择备份的tar文件即可

docker rm -v      -v是直接删除跟容器相关联的数据卷,但是要求该数据卷必须没有被占用,否则无法删除
使用-v 必须是数据完全不需要的情况下,否则丢失数据是很恐怖的事情
如果是自动生成的数据卷如果不及时清理,就会出现很多僵尸目录文件占用磁盘空间.因为他的命名方式很特殊,完全不明白是什么意思.



本文出自 “11627223” 博客,请务必保留此出处http://11637223.blog.51cto.com/11627223/1911964

以上是关于linux-centos7-docker-容器储存永久保存的主要内容,如果未能解决你的问题,请参考以下文章

Docker 学习笔记总结

Docker 学习笔记总结

Centos 7.5 docker 容器怎么设置开机自启

Docker容器命令

如何在 Python3.7 docker 容器中执行并行 PostgreSQL 查询?

Docker容器常用命令