生产环境使用Docker的过程中,需要对数据进行持久化;或者多个容器之间需要数据共享。这必然设计数据的管理操作
容器中管理数据主要有两种方式:
- 数据券:容器内数据直接映射到本地主机环境
- 数据券容器:使用特定容器维护数据券
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
来源:CSDN
作者:lishunxi0519
链接:https://blog.csdn.net/lishunxi0519/article/details/104132163