03.docker之数据卷
数据卷
- 数据卷就是目录或文件,存在一个或多个容器中由docker挂载到容器,提供一些用于持续存储或共享数据的特性
- 卷的设计目的就是数据的持久化,完全独立于容器的生命周期,因此docker不会 在删除时删除其挂载的数据卷
特点:
1.数据库卷可在容器之间共享或重用数据
2.卷中的数据可以直接修改生效
3.数据卷的更改不会包含在镜像的更新中
4.数据卷的生命周期一致持续到没有容器使用它为止
1. -v命令
1.1 docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
例:docker run -it -v /myDataVolume:/dataVolumeContainer centos 在宿主机创建/myDataVolume,在容器内创建/dataVolumeContainer 并关联起来,如果容器停止,然后再启动还可以关联
1.2 docker run -it -v /宿主机绝对路径目录:/容器内目录:权限 镜像名
例:docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos 在宿主机创建/myDataVolume,在容器内创建/dataVolumeContainer 并关联起来,但是容器内的文件只能读不能新增和修改文件,如果容器停止,然后再启动还好关联;
操作:
创建数据卷
docker volume create [OPTIONS][VOLUME]
示例:docker volume create volume01
查看数据卷
docker volume inspect [OPTIONS] VOLUME [VOLUME...]
示例:docker volume ls 查询卷列表
挂载数据卷
docker run -v volumeName:containerPath imageName
示例:docker run --name nginx --rm -v volume01:/usr/share/nginx/html:rw -P -d nginx
删除数据卷
docker volume rm [OPTIONS] VOLUME [VOLUME...]
示例:docker volume rm volume2 volume3
挂载问题:
Fdocker挂载主机目录Docker访问出现cannot open directory.:permission denied
解决问题,在挂载目录后加一个 --privileged=true参数
docker run -it -v /myDataVolume:/dataVolumeContainer --privileged=true centos
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号