数据卷容器 ,专门存放数据卷的容器,不在把宿主机的目录当做数据卷进行挂载,以免破关docker的统一性,从数据卷容器进行数据卷的挂载。
只是其他容器与数据卷连接的桥梁,并不需要保证数据卷容器必须在运行状态。其他容器只是利用数据卷容器给出的数据卷信息在docker中找到对应的数据卷。最好使用多个数据卷容器存放管理数据卷。
数据卷容器
# 创建数据卷容器
docker create --name volumeDataContainer -v /html ubuntu
# 连接数据卷容器
# --volumes-from 可以挂载指定数据卷容器中所有的数据卷,挂载路径会使用创建数据卷容器时的指定的挂载目录(路径)
docker run -d --name testVolume --volumes-from volumeDataContainer nginx
# 导出数据卷 路径可用$(pwd)替代
docker run -it --volumes-from volumeDataContainer -v /Users/yingyu/Documents/docker_dir:/backup --name exporter --rm ubuntu /bin/bash
tar cfP /backup/backup.tar /data # cf create file P 绝对路径,默认相对路径
# 直接导出无交互
docker run -it --volumes-from volumeDataContainer -v /Users/yingyu/Documents/docker_dir:/backup --rm ubuntu tar cfP /backup/backup.tar /html
# 恢复数据卷
docker run -it --volumes-from volumeDataContainer -v /Users/yingyu/Documents/docker_dir:/backup --rm ubuntu tar xfP /backup/backup.tar /html # x extract 从备份文件中还原文件