Docker数据管理

99封情书 提交于 2020-02-02 08:25:12

生产环境使用Docker的过程中,需要对数据进行持久化;或者多个容器之间需要数据共享。这必然设计数据的管理操作
容器中管理数据主要有两种方式:

  1. 数据券:容器内数据直接映射到本地主机环境
  2. 数据券容器:使用特定容器维护数据券

1.数据券

数据券可以在容器之间共享和重用,容器之间传递数据变得高效
对数据券内的数据修改立马生效,无论是容器内操作还是本地操作
对数据券的更新不会影响镜像

1.1 容器内创建数据券

在使用docker run命令时,使用-v可以在容器内创建一个数据券,多次使用-v可以创建多个数据券

1.2数据券容器

数据券容器也是一个容器,专门用来提供数据券以供其他容器使用

# 1.创建一个数据券容器dbdata,并在其中创建一个数据券挂载到/dbdata
docker run -it -v /dbdata --name dbdata ubuntu

# 2.在其他容器使用--volumes-from 来挂载到dbdata容器中的数据券
docker run -it --volumes-from dbdata --name db1 ubuntu
docker run -it --volumes-from dbdata --name db2 ubuntu

###############使用数据券容器迁移数据#####################
# 备份 将dbdata下内容备份到宿主机的/bakup/bakup.tar
docker run --volumes-from dbdata -v $(pwd):/bakup --name worker ubuntu

tar cvf /bakup/bakup.tar /dbdata

# 恢复
docker run -v /dbdata --name dbdata2 ubuntu /bin/bash
docker run --volume-from dbdata2 -v  $(pwd):/bakup
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!