1、给容器添加数据卷
1.1使用命令添加数据卷
-v ~/software:/software --privileged=true
/**
1、添加成功后会在宿主机上建立~/software文件夹,同时也会在容器内建立文件件/software
2、对宿主机更改文件同时也会体现在容器上
3、对容器进行修改也会体现在宿主机上面
**/
1.2使用Dockerfile添加数据卷
FROM docker.io/centos
VOLUME ["/data1","/data2"]
CMD /bin/bash
docker build -t zhw/test-volumes .
docker run -it --name volu1 zhw/test-volumes
docker inspect volu1
2、数据卷容器
就像上面启动的容器volu1,它包含数据卷,可以被其他容器挂在,这样的容器就是数据卷容器
//--volumes-from指定挂载的数据卷容器
docker run -it --name centos1.1 --volumes-from volu1 centos /bin/bash
可以看到成功挂载的data1和data2
总结:通过数据卷容器挂载数据,实际上只是把配置传递进去,今后数据卷容器删除也不影响已经关联德配置。
3、数据卷容器备份和还原
3.1备份
docker run --volumes-from volu1 -v ~/backup:/backup --name centos1.2 --privileged=true centos tar cvf /backup/data1.tar /data1
这里就解释最后运行的命令 tar cvf /backup/data1.tar /data1 把容器中的/data1目录备份到容器的backup/data1.tar 中,这样宿主机中的~/backup和容器/backup是挂载的,所以宿主机中~/backup也有备份文件
3.2还原
docker run --volumes-from volu1 -v ~/backup:/backup --name centos1.3 --privileged=true centos tar xzvf ~/backup/data1.tar -C /data1
目前还有问题 待解决