Docker数据卷的理解
Docker容器默认是存货在内存中的,当docker容器关闭后,里面的运行数据将丢失。
Docker数据卷的存在意义有两个:
- 实现docker容器数据的持久化问题。
- 实现docker容器与容器、容器与主机的数据交换。
Docker数据卷的使用方法
方法一:命令添加
docker run -it -v /宿主机目录路径:/容器内目录路径[:ro] 镜像名
//如果目录路径不存在则自动创建
//[:ro]只读选项
方法二:DockerFile添加
第一步:
根目录下新建/mydocker/Dockerfile文件。
第二步:
在Dockerfile中撰写VOLUME指令,为镜像添加数据卷。
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "OK!OK!"
CMD /bin/bash
第三步:
生成镜像文件。
docker build -f /mydocker/Dockerfile -t royotech/centos .
第四步:
根据新镜像生成容器。会在宿主机上自动生成对应的数据卷
容器间数据共享
docker run -it --name dc01 royotech/centos
docker run -it --name dc02 --volumes-from dc01 royotech/centos
//--volumes-from dc01 以继承dc01的形式,实现dc01和dc02间的数据共享