加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Docker 数据持久化的三种方案,你总能用到

发布时间:2019-09-05 18:32:49 所属栏目:编程 来源:Arking
导读:容器中的数据可以存储在容器层。但是将数据存放在容器层存在以下问题: 数据不是持久化。意思是如果容器删除了,这些数据也就没了 主机上的其它进程不方便访问这些数据 对这些数据的I/O会经过存储驱动,然后到达主机,引入了一层间接层,因此性能会有所下

1)创建命名卷

  1. docker volume create --driver vieux/sshfs  
  2.   -o sshcmd=test@node2:/home/test  
  3.   -o password=testpassword  
  4.   sshvolume 

2)启动容器时使用卷驱动创建匿名卷

  1. docker run -d  
  2.   --name sshfs-container  
  3.   --volume-driver vieux/sshfs  
  4.   --mount src=sshvolume,target=/app,volume-opt=sshcmd=test@node2:/home/test,volume-opt=password=testpassword  
  5.   nginx:latest 

3、备份、恢复、迁移数据卷

1)备份一个容器

  1. docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata 
  • 启动一个新容器,挂载dbstore容器中的卷
  • 挂载一个本地主机目录到容器/backup
  • 使用tar将dbdata卷中的数据打包成backup.tar

2)用备份恢复容器

使用刚刚创建的备份来恢复容器:

  1. docker run -v /dbdata --name dbstore2 ubuntu /bin/bash 

然后,在新创建的容器的卷中使用tar解包备份的数据:

  1. docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1" 

【编辑推荐】

  1. 加速数据分析,这10个小技巧好用到哭
  2. 7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
  3. 写给大数据从业者:数据科学的5个陷阱与缺陷
  4. Pandas循环提速7万多倍!Python数据分析哪种更快?
  5. 9月数据库排行:Microsoft SQL Server 分数罕见下滑
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读