为什么需要容器数据卷
- 容器数据卷:可以在不同容器之中共用数据,如不同容器中的mysql使用相同的数据
- 使用容器数据卷可以将容器中的数据同步到本地
使用数据卷
方式一:使用-v
- 直接使用命令来挂载,命令:
docker run -it -v 主机目录:容器内目录
,eg:docker run -it -v /home/test:/home centos /bin/bash
,将centos容器中的home目录下所有文件挂在到宿主机上的home/test目录下,容器中home下的文件即时同步到宿主机上,宿主机的操作也会即使同步到容器中
- 使用命令查看绑定信息,命令:
docker inspect 容器ID
方法二:使用Dockerfile
- 在路径
/home/docker-volume-test
下创建一个dockerfile文件,名为:dockerfile1,内容:
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "---end---"
CMD /bin/bsah
- 使用命令:
docker build -f /home/docker-volume-test/dockerfile1 -t tsb/centos:1.0 .
构建镜像
- 将镜像启动为容器,命令:
docker-volume-test]# docker run -it 49ff882b4672 /bin/bash
,这里使用镜像ID,使用镜像名会出错
- 容器中使用
ls -l
命令查看挂在卷
- 使用命令查看容器内部与宿主机卷挂载信息,命令:
docker inspect ea638a39174b
数据卷容器——两个容器之间共享数据
- 使用命令:
-- volumes-from 父容器ID
,eg:docker run -it --name centos02 --volumes-from ea638a39174b centos /bin/bash
--volumes-from 父容器ID或name
- 新生成的容器 centos02 与之前生成的容器共享了相同的宿主机挂载
- 当父容器被删除后,不影响子容器与宿主机之间的挂载