1. docker 容器数据卷
1.1 概念
- 容器的持久化
- 容器间继承
- 共享数据
类似Redis中rdb和aof文件
1. 2 直接命令添加
# docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
1.2.1 挂载是否成功
# docker inspect 容器ID

1.2.2 容器和宿主机间数据共享

1.2.3 容器停止后,主机修改后数据是否同步

1.2.4 带权限命令
# docker run -it -v /宿主机绝对路径目录:/容器内目录:ro 镜像名

1. 3 Dockerfile添加
1.3.1 Dockerfile中VOLUME指令添加
# VOLUME["/dataVolumeContainer","/dataVolumeContainer2","/dataVolumeContainer3"]
说明:
出于可移植和分享的考虑,用-v 主机目录:容器目录这种方法不能够直接在Dockerfile中实现。
由于宿主机目录是依赖于特定宿主机的,并不能够保证在所有的宿主机上都存在这样的特定目录。
1.3.2 File构建
# volume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,--------success1"
CMD /bin/bash
1.3.3 生成镜像

1.3.4 run容器

1.3.5 主机对应默认地址

1.4 Permission denied问题
Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied
解决办法:在挂载目录后多加一个--privileged=true参数即可
1.5 容器间传递共享
# --volumes-from
# docker run -it --name dc02 --volumes-from dc01 zzyy/centos
容器间配置信息的传递, 数据卷的生命周期一直持续到没有容器使用它为止

浙公网安备 33010602011771号