1.在容器中挂载逻辑卷(有三种方法)
1.1 方法一:容器中挂载逻辑卷(挂载到一个主机上自动分配的目录)
# docker run it --name container_test -v /test nginx
1.2 方法二:容器中挂载逻辑卷(在镜像文件中挂载,这种方法与方法一很像,但不能用方法三,因为此方法可以从镜像中复制文件到挂载目录,这样做不安全且不可移植)
FROM nginx:lasted
RUN useradd foo
RUN mkdir /test && touch /test/x
RUN chown -R foo:foo /text
VOLUME /test
1.3 方法三:容器中挂载逻辑卷(挂载到一个主机上指定的目录,这是一个持久目录,不可以用-v参数进行删除)
# docker run it --name container_test -v /home/test:/test nginx
1.4 查看逻辑卷在主机上的目录
# docker inspect container_test
2.与一个容器共享逻辑卷
# docker run it --name container_test2 --volumes-from container_test nginx
3.验证
方法:在container_test中创建文件,在container_test2可以查看到文件
4.逻辑卷的备份与恢复
4.1备份
# docker run it --name container_test3 --volumes-from container_test -v $(pwd):backup nginx tar cvf /backup/test_backup.tar /test
4.2恢复
# docker run it --name container_test3 -v $(pwd):test nginx tar xf /backup/test_backup.tar
5.取消逻辑卷
删除容器同时取消逻辑卷(只是取消挂载了,不能够删除主机上的目录)
# docker rm -f container_test
6.删除逻辑卷(只对方法一和方法二挂载的逻辑卷有效)
删除容器同时删除逻辑卷(不只是取消挂载了,并且会删除主机上的目录)
# docker rm -f -v container_test